package com.joelpm.bidiMessages.client; import org.apache.thrift.TException; import org.apache.thrift.protocol.TProtocol; import com.joelpm.bidiMessages.generated.MessageService; /** * The class responsible for reading and deserializing incoming messages. * Should be run in its own thread. * * @author Joel Meyer */ public class MessageReceiver extends ConnectionRequiredRunnable { private final MessageService.Processor processor; private final TProtocol protocol; public MessageReceiver( TProtocol protocol, MessageService.Iface messageService, ConnectionStatusMonitor connectionMonitor) { super(connectionMonitor, "Message Receiver"); this.protocol = protocol; this.processor = new MessageService.Processor(messageService); } @Override public void run() { connectWait(); while (true) { try { while (processor.process(protocol, protocol) == true) { } } catch (TException e) { disconnected(); } } } }