package org.playorm.nio.impl.cm.exception; import java.io.IOException; import java.nio.ByteBuffer; import java.util.logging.Level; import java.util.logging.Logger; import org.playorm.nio.api.channels.Channel; import org.playorm.nio.api.handlers.DataChunk; import org.playorm.nio.api.handlers.DataListener; class ExcProxyDataHandler implements DataListener { private static final Logger log = Logger.getLogger(ExcProxyDataHandler.class.getName()); private ExcTCPChannel channel; private DataListener handler; public ExcProxyDataHandler(ExcTCPChannel channel, DataListener handler) { this.channel = channel; this.handler = handler; } public void incomingData(Channel realChannel, DataChunk b) throws IOException { try { handler.incomingData(channel, b); } catch(Exception e) { log.log(Level.WARNING, channel+"Exception", e); } } public void farEndClosed(Channel realChannel) { try { handler.farEndClosed(channel); } catch(Exception e) { log.log(Level.WARNING, channel+"Exception", e); } } public void failure(Channel channel, ByteBuffer data, Exception e) { try { handler.failure(channel, data, e); } catch(Exception ee) { log.log(Level.WARNING, channel+"Exception", ee); } } @Override public String toString() { return "ExcProxyDataHandler.java[handler="+handler+"]"; } }