Examples of RawDataBuffer


Examples of net.timewalker.ffmq3.utils.RawDataBuffer

{
    private static final int MSG_SIZE = 100;
   
    private byte[] serialize( AbstractMessage message ) throws Exception
    {
        RawDataBuffer buffer = new RawDataBuffer(1024);
        MessageSerializer.serializeTo(message, buffer);
        return buffer.toByteArray();
    }
View Full Code Here

Examples of net.timewalker.ffmq3.utils.RawDataBuffer

        return buffer.toByteArray();
    }
   
    private AbstractMessage unserialize( byte[] data ) throws Exception
    {
        RawDataBuffer buffer = new RawDataBuffer(data);
        return MessageSerializer.unserializeFrom(buffer, false);
    }
View Full Code Here

Examples of net.timewalker.ffmq3.utils.RawDataBuffer

  /**
     * Serialize a message
     */
    public static byte[] serialize( AbstractMessage message , int typicalSize )
    {
        RawDataBuffer rawMsg = message.getRawMessage();
        if (rawMsg != null)
            return rawMsg.toByteArray();

        RawDataBuffer buffer = new RawDataBuffer(typicalSize);
        buffer.writeByte(message.getType());
        message.serializeTo(buffer);
       
        return buffer.toByteArray();
    }
View Full Code Here

Examples of net.timewalker.ffmq3.utils.RawDataBuffer

    /**
     * Unserialize a message
     */
    public static AbstractMessage unserialize( byte[] rawData , boolean asInternalCopy )
    {
      RawDataBuffer rawIn = new RawDataBuffer(rawData);
        byte type = rawIn.readByte();
        AbstractMessage message = MessageType.createInstance(type);
        message.initializeFromRaw(rawIn);
        if (asInternalCopy)
          message.setInternalCopy(true);
       
View Full Code Here

Examples of net.timewalker.ffmq3.utils.RawDataBuffer

     * Serialize a message to the given output stream
     */
    public static void serializeTo( AbstractMessage message , RawDataBuffer out )
    {
        // Do we have a cached version of the raw message ?
      RawDataBuffer rawMsg = message.getRawMessage();
        if (rawMsg != null)
        {
          out.writeInt(rawMsg.size());
          rawMsg.writeTo(out);
        }
        else
        {
            // Serialize the message
          out.writeInt(0); // Write a dummy size
View Full Code Here

Examples of net.timewalker.ffmq3.utils.RawDataBuffer

    public static AbstractMessage unserializeFrom( RawDataBuffer rawIn , boolean asInternalCopy )
    {
      int size = rawIn.readInt();
     
      // Extract a sub buffer
      RawDataBuffer rawMessage = new RawDataBuffer(rawIn.readBytes(size));
        byte type = rawMessage.readByte();
        AbstractMessage message = MessageType.createInstance(type);
        message.initializeFromRaw(rawMessage);
        if (asInternalCopy)
            message.setInternalCopy(true);
View Full Code Here

Examples of net.timewalker.ffmq3.utils.RawDataBuffer

    /**
     * Constructor
     */
    public NetworkInputChannel( int initialBufferSize , InputStream stream )
    {
        this.ioBuffer = new RawDataBuffer(initialBufferSize);
        this.stream = stream;
    }
View Full Code Here

Examples of net.timewalker.ffmq3.utils.RawDataBuffer

          ActivityWatchdog.getInstance().unregister(this);
    }
   
    public AbstractPacket receive( int maxPacketSize ) throws PacketTransportException
    {
        RawDataBuffer buffer = inChannel.ioBuffer;
        buffer.clear();
       
        // Receive data
        int responseSize = receiveSize(inChannel.stream);
        if (responseSize == -1)
            return null;
       
        // Security check
        if (responseSize > maxPacketSize)
            throw new PacketTransportException("Packet is too large : "+responseSize+" (maxPacketSize="+maxPacketSize+"), dropping client.");
       
        if (!receiveData(inChannel.ioBuffer, inChannel.stream, responseSize))
            return null;
       
        // Unserialize response
        buffer.reset();
        try
        {
            return PacketSerializer.unserializeFrom(buffer);
        }
        catch (Exception e)
View Full Code Here

Examples of net.timewalker.ffmq3.utils.RawDataBuffer

    // Stream buffers
    this.inputBuffer = ByteBuffer.allocate(streamRecvBufferSize).order(ByteOrder.BIG_ENDIAN);
    this.outputBuffer = ByteBuffer.allocate(streamSendBufferSize).order(ByteOrder.BIG_ENDIAN);
   
    // Packet buffers
    this.packetInputBuffer = new RawDataBuffer(initialPacketBufferSize);
    this.packetOutputBuffer = new RawDataBuffer(initialPacketBufferSize);
   
    this.lastSendActivity = this.lastRecvActivity = System.currentTimeMillis();
    if (client)
    {
      sendActivityMonitor = new ActiveObject() {
View Full Code Here

Examples of net.timewalker.ffmq3.utils.RawDataBuffer

              {
                  AbstractPacket packet = (AbstractPacket)pipeline.removeFirst();
                 
                  // We need to serialize the packet in a side buffer in order to
                  // know its final size before writing it to the actual output stream
                      RawDataBuffer buffer = outChannel.ioBuffer;
                      buffer.clear();
                      PacketSerializer.serializeTo(packet, buffer);
                     
                      // Write it on the stream
                      OutputStream out = outChannel.socketOutputStream;
                      SerializationTools.writeInt(buffer.size(),out); // Packet size
                      buffer.writeTo(out); // Packet body
              }
             
              // Flush output stream
              outChannel.flush();
             
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.