@Override public Object down(Message msg) { if(oob) msg.clearFlag(Message.Flag.OOB); return down_prot.down(msg); } }
private Object handle(Message message) { Header header = (Header) message.getHeader(this.id); // If this is a request expecting a response, don't leave the requester hanging - send an identifiable response on which it can filter if ((header != null) && (header.type == Header.REQ) && header.rspExpected()) { Message response = message.makeReply().setFlag(message.getFlags()).clearFlag(Message.Flag.RSVP, Message.Flag.INTERNAL); response.putHeader(FORK.ID, message.getHeader(FORK.ID)); response.putHeader(this.id, new Header(Header.RSP, header.req_id, header.corrId)); response.setBuffer(UNKNOWN_FORK_RESPONSE.array()); fork.getProtocolStack().getChannel().down(response); } return null; } });
protected void sendReply(final Message req, final long req_id, Object reply, boolean is_exception) { Buffer rsp_buf; try { // retval could be an exception, or a real value rsp_buf=replyToBuffer(reply, marshaller); } catch(Throwable t) { try { // this call should succeed (all exceptions are serializable) rsp_buf=replyToBuffer(t, marshaller); is_exception=true; } catch(NotSerializableException not_serializable) { if(log.isErrorEnabled()) log.error(Util.getMessage("FailedMarshallingRsp") + reply + "): not serializable"); return; } catch(Throwable tt) { if(log.isErrorEnabled()) log.error(Util.getMessage("FailedMarshallingRsp") + reply + "): " + tt); return; } } Message rsp=req.makeReply().setFlag(req.getFlags()).setBuffer(rsp_buf) .clearFlag(Message.Flag.RSVP, Message.Flag.INTERNAL); // JGRP-1940 sendResponse(rsp, req_id, is_exception); }
@Override public Object down(Message msg) { if(oob) msg.clearFlag(Message.Flag.OOB); return down_prot.down(msg); } }
private Object handle(Message message) { Header header = message.getHeader(this.id); // If this is a request expecting a response, don't leave the requester hanging - send an identifiable response on which it can filter if ((header != null) && (header.type == Header.REQ) && header.rspExpected()) { Message response = message.makeReply().setFlag(message.getFlags()).clearFlag(Message.Flag.RSVP); response.putHeader(FORK.ID, message.getHeader(FORK.ID)); response.putHeader(this.id, new Header(Header.RSP, header.req_id, this.id)); response.setBuffer(UNKNOWN_FORK_RESPONSE.array()); channel.down(response); } return null; } };
private Object handle(Message message) { Header header = (Header) message.getHeader(this.id); // If this is a request expecting a response, don't leave the requester hanging - send an identifiable response on which it can filter if ((header != null) && (header.type == Header.REQ) && header.rspExpected()) { Message response = message.makeReply().setFlag(message.getFlags()).clearFlag(Message.Flag.RSVP, Message.Flag.INTERNAL); response.putHeader(FORK.ID, message.getHeader(FORK.ID)); response.putHeader(this.id, new Header(Header.RSP, header.req_id, header.corrId)); response.setBuffer(UNKNOWN_FORK_RESPONSE.array()); fork.getProtocolStack().getChannel().down(response); } return null; } });
protected void sendReply(final Message req, final long req_id, Object reply, boolean is_exception) { Buffer rsp_buf; try { // retval could be an exception, or a real value rsp_buf=replyToBuffer(reply, marshaller); } catch(Throwable t) { try { // this call should succeed (all exceptions are serializable) rsp_buf=replyToBuffer(t, marshaller); is_exception=true; } catch(NotSerializableException not_serializable) { if(log.isErrorEnabled()) log.error(Util.getMessage("FailedMarshallingRsp") + reply + "): not serializable"); return; } catch(Throwable tt) { if(log.isErrorEnabled()) log.error(Util.getMessage("FailedMarshallingRsp") + reply + "): " + tt); return; } } Message rsp=req.makeReply().setFlag(req.getFlags()).setBuffer(rsp_buf) .clearFlag(Message.Flag.RSVP, Message.Flag.INTERNAL); // JGRP-1940 sendResponse(rsp, req_id, is_exception); }