AbstractSigWorker.java 600 B

123456789101112131415161718192021222324
  1. package com.sig.comm.server.process;
  2. public abstract class AbstractSigWorker {
  3. protected long avgTime = 0;
  4. protected int idx;
  5. protected int qSize;
  6. public abstract boolean add(Object packet);
  7. public abstract void process(Object packet);
  8. public abstract void report();
  9. protected long calcProcessTime(long recvTime) {
  10. long jobTime = System.nanoTime() - recvTime;
  11. if (this.avgTime == 0) {
  12. this.avgTime = jobTime;
  13. }
  14. else {
  15. this.avgTime = (this.avgTime + jobTime) / 2L;
  16. }
  17. return this.avgTime;
  18. }
  19. }