Hi Trustin,

I've just read the tutorial and I don't understand how to correctly transform a Write request.

I have the following filterWrite implementation:

public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception
   {
       Object message = writeRequest.getMessage();
       if (message instanceof ByteBuffer)
       {
           nextFilter.filterWrite(session, writeRequest);
       }
       else
       {
           if (message instanceof Byte)
           {
               ByteBuffer outBuffer = ByteBuffer.allocate(1);
               outBuffer.put((Byte)message);
               outBuffer.flip();
nextFilter.filterWrite(session, new WriteRequest(outBuffer, writeRequest.getFuture(), writeRequest.getDestination()));
           }
           else if (message instanceof Integer)
           {
               ByteBuffer outBuffer = ByteBuffer.allocate(4);
               outBuffer.putInt((Integer)message);
               outBuffer.flip();
nextFilter.filterWrite(session, new WriteRequest(outBuffer, writeRequest.getFuture(), writeRequest.getDestination()));
           }
           else if (message instanceof Long)
           {
               ByteBuffer outBuffer = ByteBuffer.allocate(8);
               outBuffer.putLong((Long)message);
               outBuffer.flip();
nextFilter.filterWrite(session, new WriteRequest(outBuffer, writeRequest.getFuture(), writeRequest.getDestination()));
           }
           else if (message instanceof byte[])
           {
               byte[] byteArray = (byte[])message;
ByteBuffer outBuffer = ByteBuffer.allocate(4 + byteArray.length);
               outBuffer.putInt(byteArray.length);
               outBuffer.put(byteArray);
               outBuffer.flip();
nextFilter.filterWrite(session, new WriteRequest(outBuffer, writeRequest.getFuture(), writeRequest.getDestination()));
           }
       }
}
Can you give me some pointers of how the messageSent should look like.

Thanks in advance.

Trustin Lee wrote:
Hi folks,

I wrote a small tutorial about implementing an IoFilter:

http://cwiki.apache.org/MINA/iofilter.html

Please feel free to give some feed back or edit directly.

HTH,
Trustin

Reply via email to