package neal.minapush.push;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;
/**
* Created by neal on 2014/12/2.
*/
public class ClientSessionHandler extends IoHandlerAdapter {
PushEventListener pushEventListener;
public void setPushEventListener(PushEventListener pushEventListener){
this.pushEventListener=pushEventListener;
}
@Override
public void sessionCreated(IoSession session) throws Exception {
super.sessionCreated(session);
}
@Override
public void sessionOpened(IoSession session) throws Exception {
super.sessionOpened(session);
if(pushEventListener!=null){
pushEventListener.onPushConnected();
}
}
@Override
public void sessionClosed(IoSession session) throws Exception {
super.sessionClosed(session);
if(pushEventListener!=null){
pushEventListener.onPushDisConnected();
}
}
@Override
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
super.sessionIdle(session, status);
}
@Override
public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
super.exceptionCaught(session, cause);
if(pushEventListener!=null){
pushEventListener.onPushExceptionCaught();
}
}
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
super.messageReceived(session, message);
if(pushEventListener!=null){
pushEventListener.onPushMessageReceived();
}
}
@Override
public void messageSent(IoSession session, Object message) throws Exception {
super.messageSent(session, message);
if(pushEventListener!=null){
pushEventListener.onPushMessageSent();
}
}
@Override
public void inputClosed(IoSession session) throws Exception {
super.inputClosed(session);
}
}