public virtual void onReceive(LBMSourceStatistics stats) { System.Console.Error.Write("\nSource statistics received"); System.Console.Error.Write(" from " + stats.getApplicationSourceId()); System.Console.Error.Write(" at " + stats.getSender().ToString()); System.Console.Error.WriteLine(", sent " + stats.getTimestamp().ToLocalTime().ToString()); System.Console.Error.WriteLine("Source: " + stats.source()); System.Console.Error.WriteLine("Transport: " + stats.typeName()); switch (stats.type()) { case LBM.TRANSPORT_STAT_TCP: System.Console.Error.WriteLine("\tClients : " + stats.numberOfClients()); System.Console.Error.WriteLine("\tBytes buffered: " + stats.bytesBuffered()); break; case LBM.TRANSPORT_STAT_LBTRM: System.Console.Error.WriteLine("\tLBT-RM datagrams sent : " + stats.messagesSent()); System.Console.Error.WriteLine("\tLBT-RM datagram bytes sent : " + stats.bytesSent()); System.Console.Error.WriteLine("\tLBT-RM datagrams in transmission window : " + stats.transmissionWindowMessages()); System.Console.Error.WriteLine("\tLBT-RM datagram bytes in transmission window : " + stats.transmissionWindowBytes()); System.Console.Error.WriteLine("\tLBT-RM NAK packets received : " + stats.nakPacketsReceived()); System.Console.Error.WriteLine("\tLBT-RM NAKs received : " + stats.naksReceived()); System.Console.Error.WriteLine("\tLBT-RM NAKs ignored : " + stats.naksIgnored()); System.Console.Error.WriteLine("\tLBT-RM NAKs shed : " + stats.naksShed()); System.Console.Error.WriteLine("\tLBT-RM NAKs ignored (retransmit delay) : " + stats.naksIgnoredRetransmitDelay()); System.Console.Error.WriteLine("\tLBT-RM retransmission datagrams sent : " + stats.retransmissionsSent()); System.Console.Error.WriteLine("\tLBT-RM retransmission datagram bytes sent : " + stats.retransmissionBytesSent()); System.Console.Error.WriteLine("\tLBT-RM datagrams queued by rate control : " + stats.messagesQueued()); System.Console.Error.WriteLine("\tLBT-RM retransmission datagrams queued by rate control: " + stats.retransmissionsQueued()); break; case LBM.TRANSPORT_STAT_LBTRU: System.Console.Error.WriteLine("\tLBT-RU datagrams sent : " + stats.messagesSent()); System.Console.Error.WriteLine("\tLBT-RU datagram bytes sent : " + stats.bytesSent()); System.Console.Error.WriteLine("\tLBT-RU NAK packets received : " + stats.nakPacketsReceived()); System.Console.Error.WriteLine("\tLBT-RU NAKs received : " + stats.naksReceived()); System.Console.Error.WriteLine("\tLBT-RU NAKs ignored : " + stats.naksIgnored()); System.Console.Error.WriteLine("\tLBT-RU NAKs shed : " + stats.naksShed()); System.Console.Error.WriteLine("\tLBT-RU NAKs ignored (retransmit delay) : " + stats.naksIgnoredRetransmitDelay()); System.Console.Error.WriteLine("\tLBT-RU retransmission datagrams sent : " + stats.retransmissionsSent()); System.Console.Error.WriteLine("\tLBT-RU retransmission datagram bytes sent: " + stats.retransmissionBytesSent()); System.Console.Error.WriteLine("\tClients : " + stats.numberOfClients()); break; case LBM.TRANSPORT_STAT_LBTIPC: System.Console.Error.WriteLine("\tClients :" + stats.numberOfClients()); System.Console.Error.WriteLine("\tLBT-IPC datagrams sent :" + stats.messagesSent()); System.Console.Error.WriteLine("\tLBT-IPC datagram bytes sent:" + stats.bytesSent()); break; case LBM.TRANSPORT_STAT_LBTSMX: System.Console.Error.WriteLine("\tClients :" + stats.numberOfClients()); System.Console.Error.WriteLine("\tLBT-SMX datagrams sent :" + stats.messagesSent()); System.Console.Error.WriteLine("\tLBT-SMX datagram bytes sent:" + stats.bytesSent()); break; case LBM.TRANSPORT_STAT_LBTRDMA: System.Console.Error.WriteLine("\tClients :" + stats.numberOfClients()); System.Console.Error.WriteLine("\tLBT-RDMA datagrams sent :" + stats.messagesSent()); System.Console.Error.WriteLine("\tLBT-RDMA datagram bytes sent:" + stats.bytesSent()); break; case LBM.TRANSPORT_STAT_BROKER: System.Console.Error.WriteLine("\tBROKER messages sent : " + stats.messagesSent()); System.Console.Error.WriteLine("\tBROKER message bytes sent : " + stats.bytesSent()); break; default: System.Console.Error.WriteLine("Error: Unknown transport type received:" + stats.type()); break; } _recycler.doneWithSourceStatistics(stats); }