EnqueueSend() public static method

public static EnqueueSend ( IConnection connection, byte buffer, int offset, int count, IRateLimiter rateLimiter, ConnectionMonitor peerMonitor, ConnectionMonitor managerMonitor, AsyncIOCallback callback, object state ) : void
connection IConnection
buffer byte
offset int
count int
rateLimiter IRateLimiter
peerMonitor Universal.Torrent.Client.Managers.ConnectionMonitor
managerMonitor Universal.Torrent.Client.Managers.ConnectionMonitor
callback AsyncIOCallback
state object
return void
Example #1
0
        public static void EnqueueSendMessage(IConnection connection, IEncryption encryptor, PeerMessage message,
                                              IRateLimiter rateLimiter, ConnectionMonitor peerMonitor, ConnectionMonitor managerMonitor,
                                              AsyncIOCallback callback, object state)
        {
            var count  = message.ByteLength;
            var buffer = ClientEngine.BufferManager.GetBuffer(count);

            message.Encode(buffer, 0);
            encryptor.Encrypt(buffer, 0, count);

            var data = SendCache.Dequeue().Initialise(buffer, callback, state);

            NetworkIO.EnqueueSend(connection, buffer, 0, count, rateLimiter, peerMonitor, managerMonitor,
                                  EndSendCallback, data);
        }