Package net.timewalker.ffmq3.utils

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


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

          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

    // 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

              {
                  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

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

     */
    protected int retrieveMessagePriority(int handle) throws JMSException
    {
      // Only read a few bytes of the message to read the priority field
      byte[] msgHeader = ((AbstractBlockBasedDataStore)dataStore).retrieveHeader(handle, AbstractMessage.PRIORITY_OFFSET+1);
      RawDataBuffer buf = new RawDataBuffer(msgHeader);
      if (buf.skipBytes(AbstractMessage.PRIORITY_OFFSET) != AbstractMessage.PRIORITY_OFFSET)
          throw new DataStoreException("Cannot skip to priority field offset");
      return buf.readByte();
    }
View Full Code Here

          {
            PropertyConfigurator.configure(testSettings);
            log4jConfigured = true;
          }
 
          Settings settings = new Settings(testSettings);
         
          if (listener != null)
          {
              listener.stop();
              listener = null;
          }
      
          try
          {
              FFMQEngine.getDeployedInstance(TestUtils.LOCAL_ENGINE_NAME).undeploy();
          }
          catch (JMSException e)
          {
              // Ignore
          }
         
          engine = new FFMQEngine(TestUtils.LOCAL_ENGINE_NAME,settings,null);
          engine.deploy();
         
//          engine.deleteQueue("TEST1");
//          engine.deleteQueue("TEST2");
//          engine.deleteTopic("TEST1");
//          engine.deleteTopic("TEST2");
         
          queue1 = engine.getLocalQueue("TEST1");
          queue2 = engine.getLocalQueue("TEST2");
          topic1 = engine.getLocalTopic("TEST1");
          topic2 = engine.getLocalTopic("TEST2");
         
          ((LocalQueue)queue1).purge(null);
          ((LocalQueue)queue2).purge(null);
          ((LocalTopic)topic1).resetStats();
          //topic2.resetStats();
         
          if (isRemote())
          {
            boolean useNIO = settings.getBooleanProperty("listener.tcp.useNIO",false);
            if (useNIO)
            {
              listener = new NIOTcpListener(engine,
                                                FFMQConstants.DEFAULT_SERVER_HOST,
                                                TestUtils.TEST_SERVER_PORT,
View Full Code Here

    }
   
    private Settings createSettings( Message msg ) throws JMSException
    {
        // Fill settings from message headers
        Settings queueSettings = new Settings();
        Enumeration headers = msg.getPropertyNames();
        while (headers.hasMoreElements())
        {
            String propName = (String)headers.nextElement();
            if (propName.startsWith(FFMQAdminConstants.ADM_HEADER_PREFIX))
                continue;
           
            String propValue = msg.getStringProperty(propName);
            queueSettings.setStringProperty(propName, propValue);
        }
        return queueSettings;
    }
View Full Code Here

        return queueSettings;
    }
   
    private String processCreateQueue( Message msg ) throws JMSException
    {
        Settings queueSettings = createSettings(msg);
        QueueDefinition queueDef = new QueueDefinition(queueSettings);
       
        log.debug("Creating queue : "+queueDef);
        engine.createQueue(queueDef);
       
View Full Code Here

TOP

Related Classes of net.timewalker.ffmq3.utils.RawDataBuffer

Copyright © 2018 www.massapicom. 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.