DistributedFileSystem.DFS.KnownPeersRequest C# (CSharp) Method

KnownPeersRequest() private static method

UDP - Used by a client when requesting a list of known peers
private static KnownPeersRequest ( PacketHeader packetHeader, Connection connection, string itemCheckSum ) : void
packetHeader PacketHeader
connection Connection
itemCheckSum string
return void
        private static void KnownPeersRequest(PacketHeader packetHeader, Connection connection, string itemCheckSum)
        {
            try
            {
                DistributedItem selectedItem = null;

                if (DFS.loggingEnabled) DFS._DFSLogger.Trace(" ... known peers request for item (" + itemCheckSum + ").");

                lock (globalDFSLocker)
                {
                    if (swarmedItemsDict.ContainsKey(itemCheckSum))
                        selectedItem = swarmedItemsDict[itemCheckSum];
                }

                if (selectedItem == null)
                    //Inform peer that we don't actually have the requested item so that it won't bother us again
                    UDPConnection.SendObject("DFS_ItemRemovalUpdate", new ItemRemovalUpdate(NetworkComms.NetworkIdentifier, itemCheckSum, false), (IPEndPoint)connection.ConnectionInfo.RemoteEndPoint, nullCompressionSRO);
                else
                    UDPConnection.SendObject("DFS_KnownPeersUpdate", new KnownPeerEndPoints(selectedItem.Data.CompleteDataCheckSum, selectedItem.SwarmChunkAvailability.AllPeerEndPoints()), (IPEndPoint)connection.ConnectionInfo.RemoteEndPoint, nullCompressionSRO); 
            }
            catch (CommsException)
            {
                //LogTools.LogException(e, "CommsError_IncomingChunkAvailabilityRequest");
            }
            catch (Exception e)
            {
                LogTools.LogException(e, "Error_KnownPeersRequest");
            }
        }