示例#1
0
        protected void Dispose(bool disposing)
        {
            if (disposing)
            {
                GC.SuppressFinalize(this);

                _serializer.Dispose();
                _formatter.Dispose();
                _decoder.Dispose();
                _stream.Dispose();

                // can't dispose a socket for some reason, so this should handle it
                using (_socket)
                    _socket.Shutdown(SocketShutdown.Both);
            }
            else
            {
                Action <PeerConnection> disposeCallback = _disposeCallback;
                if (disposeCallback != null)
                {
                    disposeCallback(this);
                }
            }
        }