package cc.blynk.server.handlers.common;
import cc.blynk.server.core.protocol.enums.Response;
import cc.blynk.server.core.protocol.handlers.DefaultExceptionHandler;
import cc.blynk.server.core.protocol.model.messages.appllication.LoginMessage;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import static cc.blynk.utils.BlynkByteBufUtil.makeResponse;
/**
* The Blynk Project.
* Created by Dmitriy Dumanskiy.
* Created on 2/1/2015.
*/
@ChannelHandler.Sharable
public class AlreadyLoggedHandler extends SimpleChannelInboundHandler<LoginMessage> implements DefaultExceptionHandler {
@Override
protected void channelRead0(ChannelHandlerContext ctx, LoginMessage msg) throws Exception {
if (ctx.channel().isWritable()) {
ctx.writeAndFlush(makeResponse(msg.id, Response.USER_ALREADY_REGISTERED), ctx.voidPromise());
}
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
handleGeneralException(ctx, cause);
}
}