@Override public long getDelay(TimeUnit unit) { checkNotNull(unit, "Unit is null"); checkAccessibleHandler(); Address address = handler.getAddress(); String schedulerName = handler.getSchedulerName(); String taskName = handler.getTaskName(); int partitionId = handler.getPartitionId(); if (address != null) { ClientMessage request = ScheduledExecutorGetDelayFromAddressCodec.encodeRequest(schedulerName, taskName, address); ClientMessage response = invokeOnAddress(request, address); long nanos = ScheduledExecutorGetDelayFromAddressCodec.decodeResponse(response).response; return unit.convert(nanos, TimeUnit.NANOSECONDS); } else { ClientMessage request = ScheduledExecutorGetDelayFromPartitionCodec.encodeRequest(schedulerName, taskName); ClientMessage response = invokeOnPartition(request, partitionId); long nanos = ScheduledExecutorGetDelayFromPartitionCodec.decodeResponse(response).response; return unit.convert(nanos, TimeUnit.NANOSECONDS); } }
@Override public long getDelay(TimeUnit unit) { checkNotNull(unit, "Unit is null"); checkAccessibleHandler(); Address address = handler.getAddress(); String schedulerName = handler.getSchedulerName(); String taskName = handler.getTaskName(); int partitionId = handler.getPartitionId(); if (address != null) { ClientMessage request = ScheduledExecutorGetDelayFromAddressCodec.encodeRequest(schedulerName, taskName, address); ClientMessage response = invokeOnAddress(request, address); long nanos = ScheduledExecutorGetDelayFromAddressCodec.decodeResponse(response).response; return unit.convert(nanos, TimeUnit.NANOSECONDS); } else { ClientMessage request = ScheduledExecutorGetDelayFromPartitionCodec.encodeRequest(schedulerName, taskName); ClientMessage response = invokeOnPartition(request, partitionId); long nanos = ScheduledExecutorGetDelayFromPartitionCodec.decodeResponse(response).response; return unit.convert(nanos, TimeUnit.NANOSECONDS); } }