예제 #1
0
        public void Dispose()
        {
            // Lock order: same as in OnAffinityTopologyVersionChange.
            lock (_topologyUpdateLock)
                lock (_socketLock)
                {
                    _disposed = true;

                    if (_socket != null)
                    {
                        _socket.Dispose();
                        _socket = null;
                    }

                    if (_nodeSocketMap != null)
                    {
                        foreach (var socket in _nodeSocketMap.Values)
                        {
                            socket.Dispose();
                        }

                        _nodeSocketMap = null;
                    }

                    foreach (var socketEndpoint in _endPoints)
                    {
                        if (socketEndpoint.Socket != null)
                        {
                            socketEndpoint.Socket.Dispose();
                        }
                    }
                }
        }
예제 #2
0
        public void Dispose()
        {
            lock (_socketLock)
                lock (_topologyUpdateLock)
                {
                    _disposed = true;

                    if (_socket != null)
                    {
                        _socket.Dispose();
                        _socket = null;
                    }

                    if (_nodeSocketMap != null)
                    {
                        foreach (var socket in _nodeSocketMap.Values)
                        {
                            socket.Dispose();
                        }

                        _nodeSocketMap = null;
                    }

                    foreach (var socketEndpoint in _endPoints)
                    {
                        if (socketEndpoint.Socket != null)
                        {
                            socketEndpoint.Socket.Dispose();
                        }
                    }
                }
        }
        public void Dispose()
        {
            lock (_syncRoot)
            {
                _disposed = true;

                if (_socket != null)
                {
                    _socket.Dispose();
                    _socket = null;
                }
            }
        }
예제 #4
0
        public void Dispose()
        {
            lock (_syncRoot)
            {
                _disposed = true;

                if (_socket != null)
                {
                    _socket.Dispose();
                    _socket = null;
                }

                if (_nodeSocketMap != null)
                {
                    foreach (var socket in _nodeSocketMap.Values)
                    {
                        socket.Dispose();
                    }

                    _nodeSocketMap = null;
                }
            }
        }
예제 #5
0
 public void Dispose()
 {
     _socket.Dispose();
 }