@Override public long getDeadline(RequestHeader header, Message param) { return priority.getDeadline(header, param); }
@Override public int compare(CallRunner a, CallRunner b) { RpcCall callA = a.getRpcCall(); RpcCall callB = b.getRpcCall(); long deadlineA = priority.getDeadline(callA.getHeader(), callA.getParam()); long deadlineB = priority.getDeadline(callB.getHeader(), callB.getParam()); deadlineA = callA.getReceiveTime() + Math.min(deadlineA, maxDelay); deadlineB = callB.getReceiveTime() + Math.min(deadlineB, maxDelay); return Long.compare(deadlineA, deadlineB); } }
when(hugeCall.getHeader()).thenReturn(hugeHead); when(priority.getDeadline(eq(smallHead), any())).thenReturn(0L); when(priority.getDeadline(eq(largeHead), any())).thenReturn(50L); when(priority.getDeadline(eq(hugeHead), any())).thenReturn(100L);
@Override public long getDeadline(RequestHeader header, Message param) { return priority.getDeadline(header, param); }
@Override public int compare(CallRunner a, CallRunner b) { RpcServer.Call callA = a.getCall(); RpcServer.Call callB = b.getCall(); long deadlineA = priority.getDeadline(callA.getHeader(), callA.param); long deadlineB = priority.getDeadline(callB.getHeader(), callB.param); deadlineA = callA.timestamp + Math.min(deadlineA, maxDelay); deadlineB = callB.timestamp + Math.min(deadlineB, maxDelay); return (int)(deadlineA - deadlineB); } }
when(hugeCall.getHeader()).thenReturn(hugeHead); when(priority.getDeadline(eq(smallHead), any())).thenReturn(0L); when(priority.getDeadline(eq(largeHead), any())).thenReturn(50L); when(priority.getDeadline(eq(hugeHead), any())).thenReturn(100L);