@Override public NetChannel<IN, OUT> sendAndForget(OUT data) { send(data, null); return this; }
@Override public void accept(OUT out) { send(out, null); } });
@Override public void accept(IN in) { send(fn.apply(in)); } });
@Override public Promise<Void> send(OUT data) { Deferred<Void, Promise<Void>> d = Promises.defer(env, eventsReactor.getDispatcher()); send(data, d); return d.compose(); }
@Override public Promise<IN> sendAndReceive(OUT data) { final Deferred<IN, Promise<IN>> d = Promises.defer(env, eventsReactor.getDispatcher()); Selector sel = $(); eventsReactor.on(sel, new EventConsumer<IN>(d)).cancelAfterUse(); replyToKeys.add(sel.getObject()); send(data, null); return d.compose(); }