public AZMetaData( int _piece, ByteBuffer _data, int _total_size, byte _version ) { msg_type = _data==null?MSG_TYPE_REJECT:MSG_TYPE_DATA; piece = _piece; total_size = _total_size; version = _version; if ( _data != null ){ metadata = new DirectByteBuffer( _data ); } }
public UTMetaData( int _piece, ByteBuffer _data, int _total_size, byte _version ) { msg_type = _data==null?MSG_TYPE_REJECT:MSG_TYPE_DATA; piece = _piece; total_size = _total_size; version = _version; if ( _data != null ){ metadata = new DirectByteBuffer( _data ); } }
protected HTTPMessage( byte[] stuff ) { data = new DirectByteBuffer[]{ new DirectByteBuffer( ByteBuffer.wrap( stuff )) }; }
protected HTTPMessage( String stuff ) { data = new DirectByteBuffer[]{ new DirectByteBuffer( ByteBuffer.wrap( stuff.getBytes())) }; }
protected RawMessage getEmptyRawMessage( Message message ) { return( new RawMessageImpl( message, new DirectByteBuffer[]{ new DirectByteBuffer( ByteBuffer.allocate(0))}, RawMessage.PRIORITY_HIGH, true, new Message[0] )); }
/** * Create a core BT Piece message instance. * @param piece_number * @param piece_offset * @param data * @return core message wrapped in an adapter */ public static Message createCoreBTPiece( int piece_number, int piece_offset, ByteBuffer data ) { return new MessageAdapter( new BTPiece( piece_number, piece_offset, new DirectByteBuffer( data ), (byte)1 ) ); }
@Override public DirectByteBuffer[] getData() { if( plug_msg == null ) { return core_msg.getData(); } ByteBuffer[] bbs = plug_msg.getPayload(); DirectByteBuffer[] dbbs = new DirectByteBuffer[ bbs.length ]; //TODO cache it??? for( int i=0; i < bbs.length; i++ ) { dbbs[i] = new DirectByteBuffer( bbs[i] ); } return dbbs; }
@Override public DirectByteBuffer[] getRawData() { if( plug_msg == null ) { return core_msg.getRawData(); } ByteBuffer[] bbs = plug_msg.getRawPayload(); DirectByteBuffer[] dbbs = new DirectByteBuffer[ bbs.length ]; //TODO cache it??? for( int i=0; i < bbs.length; i++ ) { dbbs[i] = new DirectByteBuffer( bbs[i] ); } return dbbs; }
@Override public Message create(ByteBuffer data ) throws MessageException { if( core_msg == null ) { return plug_msg.create( data ); } try{ return new MessageAdapter( core_msg.deserialize( new DirectByteBuffer( data ), (byte)1 ) ); } catch( com.biglybt.core.peermanager.messaging.MessageException e ) { throw new MessageException( e.getMessage() ); } }
messages.add( new GenericMessage( msg_type, msg_desc, new DirectByteBuffer( payload_buffer ), false ));
owner.receive( new GenericMessage(msg_id, msg_desc, new DirectByteBuffer(ByteBuffer.wrap(replies.get(i))), false ));
DirectByteBuffer buffer = new DirectByteBuffer( ByteBuffer.wrap( bits ));
return( new DirectByteBuffer( _allocator, buff, this ));
owner.receive( new GenericMessage(msg_id, msg_desc, new DirectByteBuffer(ByteBuffer.wrap(messages.get(i))), false ));
@Override public void connectSuccess( ByteBuffer remaining_initial_data ) { connected = true; try{ if ( remaining_initial_data != null && remaining_initial_data.remaining() > 0){ // queue as a *raw* message as already encoded connection.getOutgoingMessageQueue().addMessage( new GenericMessage( msg_id, msg_desc, new DirectByteBuffer( remaining_initial_data ), true), false ); } listener.connectSuccess(); startProcessing(); }catch( Throwable e ){ connectFailure( e ); } }
owner.receive( new GenericMessage(msg_id, msg_desc, new DirectByteBuffer(ByteBuffer.wrap(replies.get(i))), false ));
res = new DirectByteBuffer( _allocator, buff, this );
@Override public final void connectSuccess( ByteBuffer remaining_initial_data ) { connect_ok = true; if( closing ) { //Debug.out( "PEPeerTransportProtocol::connectSuccess() called when closing." ); return; } generateSessionId(); if (Logger.isEnabled()) Logger.log(new LogEvent(PEPeerTransportProtocol.this, LOGID, "Out: Established outgoing connection")); initializeConnection(); if ( remaining_initial_data != null && remaining_initial_data.remaining() > 0){ // queue as a *raw* message as already encoded connection.getOutgoingMessageQueue().addMessage( new BTRawMessage( new DirectByteBuffer( remaining_initial_data )), false ); } sendBTHandshake(); }
GenericMessage gm = new GenericMessage( msg_id, msg_desc, new DirectByteBuffer( upper_initial_data ), false ); new GenericMessage( msg_id, msg_desc, new DirectByteBuffer( remaining_initial_data ), true), false );
protected void addRequest( httpRequest request ) throws IOException { last_http_activity_time = SystemTime.getCurrentTime(); PEPeerControl control = getPeerControl(); if ( !sent_handshake ){ sent_handshake = true; decoder.addMessage( new BTHandshake( control.getHash(), peer_id, BTHandshake.BT_RESERVED_MODE, (byte)1 )); byte[] bits = new byte[(control.getPieces().length +7) /8]; DirectByteBuffer buffer = new DirectByteBuffer( ByteBuffer.wrap( bits )); decoder.addMessage( new BTBitfield( buffer, (byte)1 )); } synchronized( outstanding_requests ){ http_requests.add( request ); } submitBTRequests(); }