1 20 package org.apache.mina.filter.codec.support; 21 22 import java.util.ArrayList ; 23 import java.util.List ; 24 25 import org.apache.mina.common.IoFilter.NextFilter; 26 import org.apache.mina.common.IoSession; 27 import org.apache.mina.common.support.BaseIoSession; 28 import org.apache.mina.filter.codec.ProtocolDecoderOutput; 29 30 37 public class SimpleProtocolDecoderOutput implements ProtocolDecoderOutput { 38 private final NextFilter nextFilter; 39 40 private final IoSession session; 41 42 private final List <Object > messageQueue = new ArrayList <Object >(); 43 44 public SimpleProtocolDecoderOutput(IoSession session, NextFilter nextFilter) { 45 this.nextFilter = nextFilter; 46 this.session = session; 47 } 48 49 public void write(Object message) { 50 messageQueue.add(message); 51 if (session instanceof BaseIoSession) { 52 ((BaseIoSession) session).increaseReadMessages(); 53 } 54 } 55 56 public void flush() { 57 while (!messageQueue.isEmpty()) { 58 nextFilter.messageReceived(session, messageQueue.remove(0)); 59 } 60 61 } 62 } 63 | Popular Tags |