protected View readView(byte[] buffer, int offset, int length) { try { return buffer != null? Util.streamableFromBuffer(View::new, buffer, offset, length) : null; } catch(Exception ex) { log.error("%s: failed reading View from message: %s", local_addr, ex); return null; } }
protected PingData readPingData(byte[] buffer, int offset, int length) { try { return buffer != null? Util.streamableFromBuffer(PingData::new, buffer, offset, length) : null; } catch(Exception ex) { log.error("%s: failed reading PingData from message: %s", local_addr, ex); return null; } }
protected JoinRsp readJoinRsp(byte[] buffer, int offset, int length) { try { return buffer != null? Util.streamableFromBuffer(JoinRsp::new, buffer, offset, length) : null; } catch(Exception ex) { log.error("%s: failed reading JoinRsp from message: %s", local_addr, ex); return null; } }
protected Digest readDigest(byte[] buffer, int offset, int length) { try { return buffer != null? Util.streamableFromBuffer(Digest::new, buffer, offset, length) : null; } catch(Exception ex) { log.error("%s: failed reading Digest from message: %s", local_addr, ex); return null; } }
protected static Message deserialize(Message msg) throws Exception { try { Message ret=Util.streamableFromBuffer(Message::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength()); if(ret.getDest() == null) ret.setDest(msg.getDest()); if(ret.getSrc() == null) ret.setSrc(msg.getSrc()); return ret; } catch(Exception e) { throw new Exception(String.format("failed deserialize message from %s", msg.src()), e); } } }
/** * Unmarshal the original message (in the payload) and then pass it up (unless already delivered) * @param msg */ protected void unwrapAndDeliver(final Message msg, boolean flush_ack) { try { Message msg_to_deliver=Util.streamableFromBuffer(Message::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength()); SequencerHeader hdr=msg_to_deliver.getHeader(this.id); if(flush_ack) hdr.flush_ack=true; deliver(msg_to_deliver, hdr); } catch(Exception ex) { log.error(Util.getMessage("FailureUnmarshallingBuffer"), ex); } }
break; case UnicastHeader3.XMIT_REQ: // received ACK for previously sent message handleXmitRequest(sender, Util.streamableFromBuffer(SeqnoList::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength())); break; case UnicastHeader3.CLOSE:
case NakAckHeader2.XMIT_REQ: try { SeqnoList missing=Util.streamableFromBuffer(SeqnoList::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength()); if(missing != null) handleXmitReq(msg.getSrc(), missing, hdr.sender);
public Object up(Message msg) { LockingHeader hdr=msg.getHeader(id); if(hdr == null) return up_prot.up(msg); Request req=null; try { req=Util.streamableFromBuffer(Request::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength()) .sender(msg.src()); } catch(Exception ex) { log.error("%s: failed deserializing request", local_addr, ex); return null; } if(req.type != Type.LOCK_INFO_REQ && req.type != Type.LOCK_INFO_RSP && req.type != Type.LOCK_REVOKED && null != view && !view.containsMember(msg.getSrc())) { log.error("%s: received request from '%s' but member is not present in the current view - ignoring request", local_addr, msg.src()); return null; } requestReceived(req); return null; }
SeqnoList missing=Util.streamableFromBuffer(SeqnoList::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength()); if(missing != null) handleXmitReq(msg.getSrc(), missing, hdr.sender);
protected Digest readDigest(byte[] buffer, int offset, int length) { try { return buffer != null? Util.streamableFromBuffer(Digest::new, buffer, offset, length) : null; } catch(Exception ex) { log.error("%s: failed reading Digest from message: %s", local_addr, ex); return null; } }
protected JoinRsp readJoinRsp(byte[] buffer, int offset, int length) { try { return buffer != null? Util.streamableFromBuffer(JoinRsp::new, buffer, offset, length) : null; } catch(Exception ex) { log.error("%s: failed reading JoinRsp from message: %s", local_addr, ex); return null; } }
protected View readView(byte[] buffer, int offset, int length) { try { return buffer != null? Util.streamableFromBuffer(View::new, buffer, offset, length) : null; } catch(Exception ex) { log.error("%s: failed reading View from message: %s", local_addr, ex); return null; } }
protected PingData readPingData(byte[] buffer, int offset, int length) { try { return buffer != null? Util.streamableFromBuffer(PingData::new, buffer, offset, length) : null; } catch(Exception ex) { log.error("%s: failed reading PingData from message: %s", local_addr, ex); return null; } }
protected static Message deserialize(Message msg) throws Exception { try { Message ret=Util.streamableFromBuffer(Message::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength()); if(ret.getDest() == null) ret.setDest(msg.getDest()); if(ret.getSrc() == null) ret.setSrc(msg.getSrc()); return ret; } catch(Exception e) { throw new Exception(String.format("failed deserialize message from %s", msg.src()), e); } } }
/** * Unmarshal the original message (in the payload) and then pass it up (unless already delivered) * @param msg */ protected void unwrapAndDeliver(final Message msg, boolean flush_ack) { try { Message msg_to_deliver=Util.streamableFromBuffer(Message::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength()); SequencerHeader hdr=msg_to_deliver.getHeader(this.id); if(flush_ack) hdr.flush_ack=true; deliver(msg_to_deliver, hdr); } catch(Exception ex) { log.error(Util.getMessage("FailureUnmarshallingBuffer"), ex); } }
break; case UnicastHeader3.XMIT_REQ: // received ACK for previously sent message handleXmitRequest(sender, Util.streamableFromBuffer(SeqnoList::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength())); break; case UnicastHeader3.CLOSE:
case NakAckHeader2.XMIT_REQ: try { SeqnoList missing=Util.streamableFromBuffer(SeqnoList::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength()); if(missing != null) handleXmitReq(msg.getSrc(), missing, hdr.sender);
public Object up(Message msg) { LockingHeader hdr=msg.getHeader(id); if(hdr == null) return up_prot.up(msg); Request req=null; try { req=Util.streamableFromBuffer(Request::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength()) .sender(msg.src()); } catch(Exception ex) { log.error("%s: failed deserializing request", local_addr, ex); return null; } if(req.type != Type.LOCK_INFO_REQ && req.type != Type.LOCK_INFO_RSP && req.type != Type.LOCK_REVOKED && null != view && !view.containsMember(msg.getSrc())) { log.error("%s: received request from '%s' but member is not present in the current view - ignoring request", local_addr, msg.src()); return null; } requestReceived(req); return null; }
SeqnoList missing=Util.streamableFromBuffer(SeqnoList::new, msg.getRawBuffer(), msg.getOffset(), msg.getLength()); if(missing != null) handleXmitReq(msg.getSrc(), missing, hdr.sender);