package org.red5.server.mqtt.net; import org.apache.mina.core.session.IoSession; import org.red5.server.mqtt.ServerChannel; public class MinaChannel implements ServerChannel { private final IoSession session; public MinaChannel(IoSession session) { this.session = session; } @Override public Object getAttribute(String key) { return session.getAttribute(key); } @Override public void setAttribute(String key, Object value) { session.setAttribute(key, value); } @Override public void setIdleTime(int idleTime) { // in seconds //session.getConfig().setIdleTime(status, idleTime); // from the Netty impl // if (m_channel.pipeline().names().contains("idleStateHandler")) { // m_channel.pipeline().remove("idleStateHandler"); // } // if (m_channel.pipeline().names().contains("idleEventHandler")) { // m_channel.pipeline().remove("idleEventHandler"); // } // m_channel.pipeline().addFirst("idleStateHandler", new IdleStateHandler(0, 0, idleTime)); // m_channel.pipeline().addAfter("idleStateHandler", "idleEventHandler", new MoquetteIdleTimoutHandler()); } @Override public void close(boolean immediately) { session.close(immediately); } @Override public void write(Object value) { session.write(value); } }