protected void getStateFrom( JChannel channel, Protocol prot, String stack, String ch, DataOutputStream out) throws Exception { ByteArrayDataOutputStream output = new ByteArrayDataOutputStream(1024); OutputStreamAdapter out_ad = new OutputStreamAdapter(output); Event evt = new Event(Event.STATE_TRANSFER_OUTPUTSTREAM, out_ad); if (channel != null) channel.up(evt); else prot.up(evt); int len = output.position(); if (len > 0) { Bits.writeString(stack, out); Bits.writeString(ch, out); out.writeInt(len); out.write(output.buffer(), 0, len); log.trace("%s: fetched %d bytes from %s:%s", local_addr, len, stack, ch); } }