package de.uniluebeck.itm.wsn.drivers.core.operation; import com.google.common.util.concurrent.TimeLimiter; import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; import de.uniluebeck.itm.wsn.drivers.core.Device; import javax.annotation.Nullable; public class DefaultIsNodeAliveOperation extends TimeLimitedOperation<Boolean> implements IsNodeAliveOperation { private final Device device; @Inject public DefaultIsNodeAliveOperation(final TimeLimiter timeLimiter, final Device device, @Assisted final long timeoutMillis, @Assisted @Nullable final OperationListener<Boolean> listener) { super(timeLimiter, timeoutMillis, listener); this.device = device; } @Override protected Boolean callInternal() throws Exception { return device.isConnected(); } }