public void writeTo(DataOutput out) throws Exception { writeTo(out, true); }
public void writeTo(DataOutput out) throws Exception { byte flags=0; if(view != null) flags|=VIEW_PRESENT; if(digest != null) flags|=DIGEST_PRESENT; if(fail_reason != null) flags|=FAIL_REASON_PRESENT; out.writeByte(flags); // 1. view if(view != null) view.writeTo(out); // 2. digest if(digest != null) digest.writeTo(out, false); // don't write the membership; it is already present in the view // 3. fail_reason if(fail_reason != null) out.writeUTF(fail_reason); }
protected static Buffer marshal(final View view, final Digest digest) { try { int expected_size=Global.SHORT_SIZE; if(view != null) expected_size+=view.serializedSize(); boolean write_addrs=writeAddresses(view, digest); if(digest != null) expected_size=(int)digest.serializedSize(write_addrs); final ByteArrayDataOutputStream out=new ByteArrayDataOutputStream(expected_size +10); out.writeShort(determineFlags(view, digest)); if(view != null) view.writeTo(out); if(digest != null) digest.writeTo(out, write_addrs); return out.getBuffer(); } catch(Exception ex) { return null; } }
/** look for certain messages that may need to be altered before being sent */ void filterOutgoingMessage(DistributionMessage m) { switch (m.getDSFID()) { case JOIN_RESPONSE: JoinResponseMessage jrsp = (JoinResponseMessage) m; if (jrsp.getRejectionMessage() == null && services.getConfig().getTransport().isMcastEnabled()) { // get the multicast message digest and pass it with the join response Digest digest = (Digest) this.myChannel.getProtocolStack().getTopProtocol() .down(Event.GET_DIGEST_EVT); HeapDataOutputStream hdos = new HeapDataOutputStream(500, Version.CURRENT); try { digest.writeTo(hdos); } catch (Exception e) { logger.fatal("Unable to serialize JGroups messaging digest", e); } jrsp.setMessengerData(hdos.toByteArray()); } break; default: break; } }
public void writeTo(DataOutput out) throws Exception { writeTo(out, true); }
public void writeTo(DataOutput out) throws Exception { byte flags=0; if(view != null) flags|=VIEW_PRESENT; if(digest != null) flags|=DIGEST_PRESENT; if(fail_reason != null) flags|=FAIL_REASON_PRESENT; out.writeByte(flags); // 1. view if(view != null) view.writeTo(out); // 2. digest if(digest != null) digest.writeTo(out, false); // don't write the membership; it is already present in the view // 3. fail_reason if(fail_reason != null) out.writeUTF(fail_reason); }
protected static Buffer marshal(final View view, final Digest digest) { try { int expected_size=Global.SHORT_SIZE; if(view != null) expected_size+=view.serializedSize(); boolean write_addrs=writeAddresses(view, digest); if(digest != null) expected_size=(int)digest.serializedSize(write_addrs); final ByteArrayDataOutputStream out=new ByteArrayDataOutputStream(expected_size +10); out.writeShort(determineFlags(view, digest)); if(view != null) view.writeTo(out); if(digest != null) digest.writeTo(out, write_addrs); return out.getBuffer(); } catch(Exception ex) { return null; } }
/** look for certain messages that may need to be altered before being sent */ void filterOutgoingMessage(DistributionMessage m) { switch (m.getDSFID()) { case JOIN_RESPONSE: JoinResponseMessage jrsp = (JoinResponseMessage)m; if (jrsp.getRejectionMessage() == null && services.getConfig().getTransport().isMcastEnabled()) { // get the multicast message digest and pass it with the join response Digest digest = (Digest)this.myChannel.getProtocolStack() .getTopProtocol().down(Event.GET_DIGEST_EVT); HeapDataOutputStream hdos = new HeapDataOutputStream(500, Version.CURRENT); try { digest.writeTo(hdos); } catch (Exception e) { logger.fatal("Unable to serialize JGroups messaging digest", e); } jrsp.setMessengerData(hdos.toByteArray()); } break; default: break; } }