MonoTorrent.Client.ConnectionManager.SendMessage C# (CSharp) Метод

SendMessage() приватный Метод

private SendMessage ( MonoTorrent.Client.PeerId id, MonoTorrent.Client.Messages.PeerMessage message, MessagingCallback callback ) : void
id MonoTorrent.Client.PeerId
message MonoTorrent.Client.Messages.PeerMessage
callback MessagingCallback
Результат void
        private void SendMessage(PeerId id, PeerMessage message, MessagingCallback callback)
        {
            try
            {
                id.MessageSentCallback = callback;
                id.CurrentlySendingMessage = message;

                RateLimiterGroup limiter = id.TorrentManager.UploadLimiter;

                if (message is PieceMessage)
                {
                    PeerIO.EnqueueSendMessage (id.Connection, id.Encryptor, message, limiter, id.Monitor, id.TorrentManager.Monitor, endSendMessageCallback, id);
                    ClientEngine.BufferManager.FreeBuffer(ref ((PieceMessage)message).Data);
                    id.IsRequestingPiecesCount--;
                }
                else
                    PeerIO.EnqueueSendMessage (id.Connection, id.Encryptor, message, null, id.Monitor, id.TorrentManager.Monitor, endSendMessageCallback, id);
            }
            catch (Exception ex)
            {
                CleanupSocket(id, ex.Message);
            }
        }