Thanks  Maarten and Christian!

On Feb 19, 2008 10:23 AM, Maarten Bosteels <[EMAIL PROTECTED]> wrote:

> Have a look at
>
> http://www.nabble.com/Re%3A-sending-receiving-a-byte---p14220485s16868.html
>
> Is your array of bytes prefixed with a length indicator ?
> If not, how do you know the end of the message ?
>
> Maybe we should add a ByteArrayCodecFactory to MINA.
>
> Maarten
>
> On Feb 19, 2008 3:19 PM, Christian Migowski <[EMAIL PROTECTED]> wrote:
>
> > Hi,
> >
> > i stumbled over this as well some time ago. The Javadoc says this
> > exception
> > happens when the ByteBuffer isn't backed by an accessible array, my
> > finding
> > was it isn't guaranteed in any way it is - better do not rely on that
> > method.
> > Fortunately you can easily rewrite your code to
> >
> >     int len = in.remaining();
> > //(i do think your usage of limit() is not what you intend to do)
> >     byte[] stream = new byte[len];
> >     in.get(stream , 0, in.remaining());
> >
> >
> > hope that helps.
> > regards,
> > christian!
> >
> >
> > On 2/19/08, Brenno Hayden <[EMAIL PROTECTED]> wrote:
> > >
> > > Hi,
> > >
> > > I am having a difficulty in mke this cast? Can I do something? Some
> tip
> > ?
> > >
> > > *code*
> > >
> > > ByteArrayDecoder extends CumulativeProtocolDecoder {
> > >
> > > protected boolean doDecode(IoSession session, ByteBuffer in,
> > > ProtocolDecoderOutput out) throws Exception {
> > >     if (in instanceof ByteBuffer) {
> > >      int len = in.limit();
> > >      byte[] stream = new byte[len];
> > >      //TODO
> > >      stream = in.array(); // Why ?
> > >      out.write(stream);
> > >      return true;
> > >     }else {
> > >       return false.
> > >     }
> > > }
> > >
> > > *console*:
> > >
> > > org.apache.mina.filter.codec.ProtocolDecoderException:
> > > java.lang.UnsupportedOperationException
> > >
> > >
> > >
> > > Thanks
> > >
> > >
> > > --
> > > ________________________
> > > Brenno Hayden F. Dantas
> > >
> >
>



-- 
________________________
Brenno Hayden F. Dantas

Reply via email to