CTL
Class MessageQueue

java.lang.Object
  extended by CTL.MessageQueue

public class MessageQueue
extends java.lang.Object

Queue for CTL messages


Field Summary
private  java.util.HashMap<java.lang.Integer,Header> map0
          ID-Header map
private  java.util.HashMap<java.lang.Integer,byte[]> map1
          ID-Message map
 
Constructor Summary
MessageQueue()
          Generate a new queue
 
Method Summary
 boolean contains(int tag)
          Check if a message with a specific ID is enqueued
 void enqueue(Header head, byte[] _msg)
          Enqueue a message
 void enqueue(int tag, Header head, byte[] msg)
          Enqueue a message with an user-defined ID
 Header header(int tag)
          Retrieve the header of a message
static void main(java.lang.String[] args)
          Just a small testcase
 byte[] payload(int tag)
          Retrieve a message
 void readFrom(OIStream in)
          Read a message from the stream and enqueue it
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

map0

private java.util.HashMap<java.lang.Integer,Header> map0
ID-Header map


map1

private java.util.HashMap<java.lang.Integer,byte[]> map1
ID-Message map

Constructor Detail

MessageQueue

public MessageQueue()
Generate a new queue

Method Detail

readFrom

public void readFrom(OIStream in)
              throws java.io.IOException,
                     java.lang.ClassNotFoundException,
                     java.lang.InstantiationException,
                     java.lang.IllegalAccessException,
                     java.lang.reflect.InvocationTargetException
Read a message from the stream and enqueue it

Parameters:
in - Input stream
Throws:
java.io.IOException
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException

enqueue

public void enqueue(Header head,
                    byte[] _msg)
Enqueue a message

Parameters:
head - Header
_msg - Message

enqueue

public void enqueue(int tag,
                    Header head,
                    byte[] msg)
Enqueue a message with an user-defined ID

Parameters:
tag - ID
head - Header
msg - Message

payload

public byte[] payload(int tag)
Retrieve a message

Parameters:
tag - ID
Returns:
Message or null if not found

header

public Header header(int tag)
Retrieve the header of a message

Parameters:
tag - ID
Returns:
Message header or null if not found

contains

public boolean contains(int tag)
Check if a message with a specific ID is enqueued

Parameters:
tag - ID
Returns:
True if present, false otherwise

main

public static void main(java.lang.String[] args)
Just a small testcase