package org.rzo.netty.ahessian.timeout; import java.util.Date; import org.jboss.netty.channel.ChannelHandlerContext; import org.jboss.netty.channel.MessageEvent; import org.jboss.netty.handler.timeout.ReadTimeoutException; import org.jboss.netty.util.Timer; import org.rzo.netty.ahessian.Constants; public class ServerHeartBeatHandler extends AbstractHeartBeatHandler { static final ReadTimeoutException EXCEPTION = new ReadTimeoutException(); public ServerHeartBeatHandler(String name, Timer timer, long timeout) { super(name, timer, timeout); } @Override void timedOut(ChannelHandlerContext ctx) { Constants.ahessianLogger.info("no reads since "+new Date(getLastCalled())+" -> close channel"); ctx.getChannel().close(); } public void messageReceived( ChannelHandlerContext ctx, MessageEvent e) throws Exception { ping(); ctx.sendUpstream(e); } }