Esempio n. 1
0
        private static void print_stats(LBMContext ctx, int nsrcs, string transport_type, LBMObjectRecyclerBase recycler)
        {
            int n;

            if (transport_type == "LBT-RM")
            {
                n = (int)(inet_aton(ctx.getAttributeValue("transport_lbtrm_multicast_address_high"))
                          - inet_aton(ctx.getAttributeValue("transport_lbtrm_multicast_address_low"))) + 1;
            }
            else if (transport_type == "LBT-IPC")
            {
                n = Convert.ToInt32(ctx.getAttributeValue("transport_lbtipc_id_high"))
                    - Convert.ToInt32(ctx.getAttributeValue("transport_lbtipc_id_low")) + 1;
            }
            else
            {
                n = Convert.ToInt32(ctx.getAttributeValue("transport_tcp_maximum_ports"));
            }

            if (nsrcs < n)
            {
                n = nsrcs;
            }
            LBMSourceStatistics stats = ctx.getSourceStatistics(n);

            for (int i = 0; i < stats.size(); i++)
            {
                switch (stats.type(i))
                {
                case LBM.TRANSPORT_STAT_TCP:
                    System.Console.Out.WriteLine("TCP, source " + stats.source(i)
                                                 + " buffered " + stats.bytesBuffered(i)
                                                 + ", clients " + stats.numberOfClients(i));
                    break;

                case LBM.TRANSPORT_STAT_LBTRU:
                    System.Console.Out.WriteLine("LBT-RU, source " + stats.source(i)
                                                 + " sent " + stats.messagesSent(i)
                                                 + "/" + stats.bytesSent(i)
                                                 + ", naks " + stats.naksReceived(i)
                                                 + "/" + stats.nakPacketsReceived(i)
                                                 + ", ignored " + stats.naksIgnored(i)
                                                 + "/" + stats.naksIgnoredRetransmitDelay(i)
                                                 + ", shed " + stats.naksShed(i)
                                                 + ", rxs " + stats.retransmissionsSent(i)
                                                 + ", clients " + stats.numberOfClients(i));
                    break;

                case LBM.TRANSPORT_STAT_LBTRM:
                    System.Console.Out.WriteLine("LBT-RM, source " + stats.source(i)
                                                 + " sent " + stats.messagesSent(i)
                                                 + "/" + stats.bytesSent(i)
                                                 + ", txw " + stats.transmissionWindowMessages(i)
                                                 + "/" + stats.transmissionWindowBytes(i)
                                                 + ", naks " + stats.naksReceived(i)
                                                 + "/" + stats.nakPacketsReceived(i)
                                                 + ", ignored " + stats.naksIgnored(i)
                                                 + "/" + stats.naksIgnoredRetransmitDelay(i)
                                                 + ", shed " + stats.naksShed(i)
                                                 + ", rxs " + stats.retransmissionsSent(i)
                                                 + ", rctl " + stats.messagesQueued(i)
                                                 + "/" + stats.retransmissionsQueued(i));
                    break;

                case LBM.TRANSPORT_STAT_LBTIPC:
                    System.Console.Out.WriteLine("LBT-IPC, source " + stats.source(i)
                                                 + " clients " + stats.numberOfClients(i)
                                                 + ", sent " + stats.messagesSent(i)
                                                 + "/" + stats.bytesSent(i));
                    break;

                case LBM.TRANSPORT_STAT_LBTSMX:
                    System.Console.Out.WriteLine("LBT-SMX, source " + stats.source(i)
                                                 + " clients " + stats.numberOfClients(i)
                                                 + ", sent " + stats.messagesSent(i)
                                                 + "/" + stats.bytesSent(i));
                    break;

                case LBM.TRANSPORT_STAT_LBTRDMA:
                    System.Console.Out.WriteLine("LBT-RDMA, source " + stats.source(i)
                                                 + " clients " + stats.numberOfClients(i)
                                                 + ", sent " + stats.messagesSent(i)
                                                 + "/" + stats.bytesSent(i));
                    break;
                }
            }
            recycler.doneWithSourceStatistics(stats);
            System.Console.Out.Flush();
        }