/// <summary> /// Print out a summary of the current state of the application /// </summary> public void DoList() { this.mainPage.Output("-------------------Locally Owned Names-------------------"); this.mainPage.Output(" " + this.busAtt.UniqueName); lock (this.requestedNames) { foreach (string s in this.requestedNames) { this.mainPage.Output(" " + s); } } this.mainPage.Output("-------------------Outgoing Advertisments----------------"); lock (this.advertisedNames) { foreach (string s in this.advertisedNames) { this.mainPage.Output(" " + s); } } this.mainPage.Output("-------------------Discovered Names----------------------"); lock (this.discoverySet) { foreach (DiscoveryInfo d in this.discoverySet) { this.mainPage.Output(" Peer: " + d.PeerName + " (transport=" + d.Transport.ToString() + ")"); } } this.mainPage.Output("-------------------Bound Session Ports-------------------"); lock (this.sessionPortMap) { foreach (KeyValuePair <uint, SessionPortInfo> pair in this.sessionPortMap) { SessionOpts opts = pair.Value.Opts; string output = string.Format( " Port: {0}, traffic={1}, isMultipoint={2}, proximity={3}, transports={4}", pair.Key, opts.Traffic, opts.IsMultipoint, opts.Proximity, opts.TransportMask); this.mainPage.Output(output); } } this.mainPage.Output("-------------------Active sessions-----------------------"); lock (this.sessionMap) { uint count = 0; foreach (KeyValuePair <uint, SessionInfo> pair in this.sessionMap) { SessionInfo info = pair.Value; SessionPortInfo sessInfo = info.PortInfo; SessionOpts opts = sessInfo.Opts; string details = string.Format( " #{0}: SessionId: {1}, Creator: {2}, Port: {3}, traffic={4}, isMultipoint={5}, proximity={6}, transport={7}", count, pair.Key, sessInfo.SessionHost, sessInfo.SessionPort, opts.Traffic, opts.IsMultipoint, opts.Proximity, opts.TransportMask); this.mainPage.Output(details); if (info.PeerNames.Count > 0) { string peers = " Peers: "; foreach (string s in info.PeerNames) { peers += s + ", "; } this.mainPage.Output(peers); } count++; } } }
/// <summary> /// Initializes a new instance of the <see cref="SessionInfo"/> class /// </summary> /// <param name="sId">Session id for this session</param> /// <param name="prtInfo">Port which this session uses</param> public SessionInfo(uint sId, SessionPortInfo prtInfo) { this.SessionId = sId; this.PortInfo = prtInfo; this.PeerNames = new SortedSet <string>(); }
/// <summary> /// Initializes a new instance of the <see cref="SessionInfo"/> class /// </summary> /// <param name="sId">Session id for this session</param> /// <param name="prtInfo">Port which this session uses</param> public SessionInfo(uint sId, SessionPortInfo prtInfo) { this.SessionId = sId; this.PortInfo = prtInfo; this.PeerNames = new SortedSet<string>(); }