public void send <T>(Object obj, BAsyncResultIF <T> asyncResult) { if (log.isDebugEnabled()) { log.debug("send(" + obj); } try { BOutput bout = getOutput(); if (log.isDebugEnabled()) { log.debug("obj -> message"); } bout.store(obj); BMessage msg = bout.toMessage(); if (log.isDebugEnabled()) { log.debug("wire.send"); } BAsyncResultIF <BMessage> outerResult = new MyAsyncResultRelogin <T>(this, (BMethodRequest)obj, asyncResult); wire.send(msg, outerResult); } catch (Exception e) { asyncResult.setAsyncResult(default(T), e); } }
public void setAsyncResult(Object obj, Exception ex) { BOutput bout = transport.getResponse(bin.header); if (ex != null) { bout.setException(ex); } else { bout.store(obj); } asyncResult.setAsyncResult(bout.toMessage(), null); }
public LongPoll(HServerR pthis, BMessage methodResult) { if (log.isDebugEnabled()) { log.debug("LongPoll(" + methodResult); } this.pthis = pthis; if (methodResult != null) { this.methodResult = methodResult; } else { BOutput outp = pthis.transport.getOutput(); outp.header.flags |= BMessageHeader.FLAG_RESPONSE; outp.store(null); // irgendwas, damit auch der Header in den ByteBuffer geschrieben wird. this.methodResult = outp.toMessage(); } if (log.isDebugEnabled()) { log.debug(")LongPoll"); } }