@Override public void messageReceived(final IoSession session, final Object message) { m_log.debug("Received message on TCP frame: {}", message); m_log.debug("TCP frames received: {}", session.getReadMessages()); m_log.debug("TCP frame bytes received: {}", session.getReadBytes()); final TcpFrame frame = (TcpFrame) message; final byte[] data = frame.getData(); if (m_log.isDebugEnabled()) { //m_log.debug("Received data:\n{}", new String(data)); } super.messageReceived(session, ByteBuffer.wrap(data)); }
sessStat.lastMessageRead = session.getReadMessages(); sessStat.lastMessageWrite = session.getWrittenMessages(); tmpBytesWrittenThroughput += sessStat.byteWrittenThroughput; sessStat.messageReadThroughput = (session.getReadMessages() - sessStat.lastMessageRead) / (pollingInterval / 1000f); tmpMsgReadThroughput += sessStat.messageReadThroughput;
private void removeSession(IoSession session) { // remove the session from the list of polled sessions polledSessions.remove(session); // add the bytes processed between last polling and session closing // prevent non seen byte with non-connected protocols like HTTP and datagrams IoSessionStat sessStat = (IoSessionStat) session.getAttribute(KEY); // computing with time between polling and closing long currentTime = System.currentTimeMillis(); synchronized (calcLock) { bytesReadThroughput += (session.getReadBytes() - sessStat.lastByteRead) / ((currentTime - sessStat.lastPollingTime) / 1000f); bytesWrittenThroughput += (session.getWrittenBytes() - sessStat.lastByteWrite) / ((currentTime - sessStat.lastPollingTime) / 1000f); msgReadThroughput += (session.getReadMessages() - sessStat.lastMessageRead) / ((currentTime - sessStat.lastPollingTime) / 1000f); msgWrittenThroughput += (session.getWrittenMessages() - sessStat.lastMessageWrite) / ((currentTime - sessStat.lastPollingTime) / 1000f); } session.removeAttribute(KEY); }