示例#1
0
 public override bool SendMessageUnreliable(MessageBuffer message)
 {
     byte[] data = new byte[message.Count];
     Array.Copy(message.Buffer, message.Offset, data, 0, message.Count);
     message.Dispose();
     return(SendUnreliable(data, 2, peer));
 }
示例#2
0
 public void Close()
 {
     if (MessageBuffer != null)
     {
         MessageBuffer.Dispose();
     }
 }
        public override bool SendMessageUnreliable(MessageBuffer message)
        {
            if (_connectionState == ConnectionState.Disconnected)
            {
                message.Dispose();
                return(false);
            }

            var dataBuffer = new byte[message.Count];

            Buffer.BlockCopy(message.Buffer, 0, dataBuffer, 0, message.Count);

            _webSocketSession.Send(dataBuffer);
            message.Dispose();

            return(true);
        }
示例#4
0
 /// <summary>
 /// Close log and flush any buffered log messages
 /// </summary>
 /// <param name="isDisposing">True if being called from explict Dispose().  False if being called from destructor</param>
 public void Dispose(bool isDisposing)
 {
     if (isDisposing == true)
     {
         _logBuffer.Dispose();
         _logBuffer = null;
     }
     GC.SuppressFinalize(this);
 }
    //Sends a message reliably...
    public override bool SendMessageReliable(MessageBuffer message)
    {
        byte[] data = new byte[message.Count];
        Array.Copy(message.Buffer, message.Offset, data, 0, message.Count);
        bool r = SendReliable(data, 1, peer);

        client.Flush();
        message.Dispose();
        return(r);
    }
    private void HandleEnetMessageReceived(Event netEvent, SendMode mode)
    {
        MessageBuffer message = MessageBuffer.Create(netEvent.Packet.Length);

        netEvent.Packet.CopyTo(message.Buffer);
        message.Offset = 0;
        message.Count  = netEvent.Packet.Length;
        HandleMessageReceived(message, mode);
        message.Dispose();
    }
        protected override void Dispose(Boolean disposing)
        {
            if (disposing)
            {
                messageBuffer.Dispose();
                mutex.Dispose();
            }

            base.Dispose(disposing);
        }
示例#8
0
        protected override void Dispose(Boolean disposing)
        {
            base.Dispose(disposing);

            if (!disposing)
            {
                return;
            }

            messageBuffer.Dispose();
        }
示例#9
0
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);

            if (!disposing || MessageBuffer == null)
            {
                return;
            }

            MessageBuffer.Dispose();
            MessageBuffer = null;
        }
示例#10
0
        protected override void OnClose()
        {
            base.OnClose();

            if (MessageBuffer == null)
            {
                return;
            }

            MessageBuffer.Dispose();
            MessageBuffer = null;
        }
示例#11
0
        protected virtual void Dispose(bool disposing)
        {
            if (_disposed)
            {
                return;
            }

            if (disposing)
            {
                CloseSocket();
                _socket.Dispose();
                _readBuffer.Dispose();

                while (_writeQueue.Count > 0)
                {
                    _writeQueue.Dequeue().Dispose();
                }
            }

            _disposed = true;
        }
示例#12
0
        public void ResetMessageBuffer()
        {
            Trace.Call();

            if (MessageBuffer == null) {
                // nothing to reset
                return;
            }

            lock (MessageBuffer) {
                try {
                    MessageBuffer.Dispose();
                } catch (Exception ex) {
#if LOG4NET
                    _Logger.Warn(
                        "ResetMessageBuffer(): MessageBuffer.Dispose() " +
                        "threw exception!", ex
                    );
#endif
                }
            }
            MessageBuffer = null;
        }
示例#13
0
        protected virtual async Task HandleMessageAsync(MessageBuffer message)
        {
            //Force the task to run asynchronously.
            await Task.Yield();

            try
            {
                if (message is null)
                {
                    await _task(ValueTask.FromCanceled <MessageBuffer>(new CancellationToken(true)));
                }
                else
                {
                    await _task(ValueTask.FromResult(message));

                    message.Dispose();
                }
            }
            catch (Exception e2)
            {
                //TODO log
            }
        }
示例#14
0
 public override bool SendMessageUnreliable(MessageBuffer message)
 {
     clientCommand.HandleSend(this, SendMode.Unreliable, message, outputData);
     message.Dispose();
     return(true);
 }
示例#15
0
 public void Dispose()
 {
     buffer.Dispose();
 }
示例#16
0
文件: ChatModel.cs 项目: licnep/smuxi
 public void Close()
 {
     MessageBuffer.Dispose();
 }
示例#17
0
 public void Dispose()
 {
     buffer.Dispose();
     clientPipeStream.Dispose();
 }