reading message content split over multiple frames

Toby Murray <[email protected]> Mon, 07 Apr 2003 16:05:53 +0930
Newsgroups gmane.network.beep.beepcore.java.general
Message-ID <[email protected]>
Hi all,
I'm having trouble reading message content which is split over multiple 
BEEP frames. I'm using the IDXP infrastructure built on top of 
beepcore-java. When receiving messages, and using the 
InputDataStreamAdapter class to read the data, I am only getting access 
to the data which is in the first frame of the message.

During the IDXP processing of messages, the message type is checked and 
the content header is examined to determine the message content. For 
octet-stream and text/plain messages, no other processing occurs before 
my app. gets access to the message.
My application simply gets the InputDataStreamAdapter, creates an array 
big enough to hold the number of bytes available in the 
InputDataStreamAdapter, and reads the bytes into that array.
The number of bytes returned by the available() method is only the count 
of hte payload for the first frame of what is a multi-frame message.

Can anyone give me some help here?

The strange part is, when trying to read the data using BufferSegments 
from the InputDataStream class, when I ask for the first buffersegment 
(using waitForNextBufferSegment()) I'm actually given the remainder of 
the message - ie. the part I can't read using InputDataStreamAdapter class.

What is hte proper way to be using the BufferSegments / 
InputDataStreamAdapter classes to read the contents of messages? And 
does it matter that the getInputStream method has already been called in 
the InputDataStream associated with the message, before my code gets 
access to it?

Thanks
Toby




-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb: 
Dedicated Hosting for just $79/mo with 500 GB of bandwidth! 
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/