@Override
protected void channelRead0(io.netty.channel.ChannelHandlerContext ctx, PacketsMessage message)
throws Exception {
ByteBuf content = message.getContent();
MainBaseClient client = message.getClient();
if (log.isTraceEnabled()) {
log.trace("In message: {} sessionId: {}", content.toString(CharsetUtil.UTF_8), client.getSessionId());
}
while (content.isReadable()) {
try {
Packet packet = decoder.decodePackets(content, client.getSessionId());
Namespace ns = namespacesHub.get(packet.getEndpoint());
if (ns == null) {
log.debug("Can't find namespace for endpoint: {}, sessionId: {} probably it was removed.", packet.getEndpoint(), client.getSessionId());
return;
}
if (packet.getType() == PacketType.CONNECT) {
client.addChildClient(ns);
}
NamespaceClient nClient = (NamespaceClient) client.getChildClient(ns);
if (nClient == null) {
log.debug("Can't find namespace client in namespace: {}, sessionId: {} probably it was disconnected.", ns.getName(), client.getSessionId());
return;
}
packetListener.onPacket(packet, nClient);
} catch (Exception ex) {
String c = content.toString(CharsetUtil.UTF_8);
log.error("Error during data processing. Client sessionId: " + client.getSessionId() + ", data: " + c, ex);
return;
}
}
}