package org.openamq.client.message;
import org.openamq.framing.*;
import java.util.List;
import java.util.LinkedList;
/**
* This class contains everything needed to process a JMS message. It assembles the
* deliver body, the content header and the content body/ies.
*
* Note that the actual work of creating a JMS message for the client code's use is done
* outside of the MINA dispatcher thread in order to minimise the amount of work done in
* the MINA dispatcher thread.
*
*/
public class UnprocessedMessage
{
private long _bytesReceived = 0;
public BasicDeliverBody deliverBody;
public BasicReturnBody bounceBody; // TODO: check change (gustavo)
public int channelId;
public ContentHeaderBody contentHeader;
/**
* List of ContentBody instances. Due to fragmentation you don't know how big this will be in general
*/
public List bodies = new LinkedList();
public void receiveBody(ContentBody body) throws UnexpectedBodyReceivedException
{
bodies.add(body);
if (body.payload != null)
{
_bytesReceived += body.payload.remaining();
}
}
public boolean isAllBodyDataReceived()
{
return _bytesReceived == contentHeader.bodySize;
}
}