public FragCollection getFragCollection(FragKey key, ChannelMessage msg) { FragCollection coll = fragpieces.get(key); if ( coll == null ) { synchronized (fragpieces) { coll = fragpieces.get(key); if ( coll == null ) { coll = new FragCollection(msg); fragpieces.put(key, coll); } } } return coll; }
public FragCollection getFragCollection(FragKey key, ChannelMessage msg) { FragCollection coll = (FragCollection)fragpieces.get(key); if ( coll == null ) { synchronized (fragpieces) { coll = (FragCollection)fragpieces.get(key); if ( coll == null ) { coll = new FragCollection(msg); fragpieces.put(key, coll); } } } return coll; }
public FragCollection getFragCollection(FragKey key, ChannelMessage msg) { FragCollection coll = fragpieces.get(key); if ( coll == null ) { synchronized (fragpieces) { coll = fragpieces.get(key); if ( coll == null ) { coll = new FragCollection(msg); fragpieces.put(key, coll); } } } return coll; }
public ChannelMessage assemble() { if ( !complete() ) throw new IllegalStateException("Fragments are missing."); int buffersize = 0; for (int i=0; i<frags.length; i++ ) buffersize += frags[i].getLength(); XByteBuffer buf = new XByteBuffer(buffersize,false); msg.setMessage(buf); for ( int i=0; i<frags.length; i++ ) { msg.getMessage().append(frags[i].getBytesDirect(),0,frags[i].getLength()); } return msg; }
public void defrag(ChannelMessage msg ) { FragKey key = new FragKey(msg.getUniqueId()); FragCollection coll = getFragCollection(key,msg); coll.addMessage((ChannelMessage)msg.deepclone()); if ( coll.complete() ) { removeFragCollection(key); ChannelMessage complete = coll.assemble(); super.messageReceived(complete); } }
public FragCollection getFragCollection(FragKey key, ChannelMessage msg) { FragCollection coll = fragpieces.get(key); if ( coll == null ) { synchronized (fragpieces) { coll = fragpieces.get(key); if ( coll == null ) { coll = new FragCollection(msg); fragpieces.put(key, coll); } } } return coll; }
public ChannelMessage assemble() { if ( !complete() ) throw new IllegalStateException("Fragments are missing."); int buffersize = 0; for (int i=0; i<frags.length; i++ ) buffersize += frags[i].getLength(); XByteBuffer buf = new XByteBuffer(buffersize,false); msg.setMessage(buf); for ( int i=0; i<frags.length; i++ ) { msg.getMessage().append(frags[i].getBytesDirect(),0,frags[i].getLength()); } return msg; }
public ChannelMessage assemble() { if ( !complete() ) throw new IllegalStateException(sm.getString("fragmentationInterceptor.fragments.missing")); int buffersize = 0; for (int i=0; i<frags.length; i++ ) buffersize += frags[i].getLength(); XByteBuffer buf = new XByteBuffer(buffersize,false); msg.setMessage(buf); for ( int i=0; i<frags.length; i++ ) { msg.getMessage().append(frags[i].getBytesDirect(),0,frags[i].getLength()); } return msg; }
public void defrag(ChannelMessage msg ) { FragKey key = new FragKey(msg.getUniqueId()); FragCollection coll = getFragCollection(key,msg); coll.addMessage((ChannelMessage)msg.deepclone()); if ( coll.complete() ) { removeFragCollection(key); ChannelMessage complete = coll.assemble(); super.messageReceived(complete); } }
public void defrag(ChannelMessage msg ) { FragKey key = new FragKey(msg.getUniqueId()); FragCollection coll = getFragCollection(key,msg); coll.addMessage((ChannelMessage)msg.deepclone()); if ( coll.complete() ) { removeFragCollection(key); ChannelMessage complete = coll.assemble(); super.messageReceived(complete); } }
public void defrag(ChannelMessage msg ) { FragKey key = new FragKey(msg.getUniqueId()); FragCollection coll = getFragCollection(key,msg); coll.addMessage((ChannelMessage)msg.deepclone()); if ( coll.complete() ) { removeFragCollection(key); ChannelMessage complete = coll.assemble(); super.messageReceived(complete); } }
public ChannelMessage assemble() { if ( !complete() ) throw new IllegalStateException("Fragments are missing."); int buffersize = 0; for (int i=0; i<frags.length; i++ ) buffersize += frags[i].getLength(); XByteBuffer buf = new XByteBuffer(buffersize,false); msg.setMessage(buf); for ( int i=0; i<frags.length; i++ ) { msg.getMessage().append(frags[i].getBytesDirect(),0,frags[i].getLength()); } return msg; }