Helios.Channels.Sockets.TcpSocketChannel.DoConnect C# (CSharp) Method

DoConnect() protected method

protected DoConnect ( EndPoint remoteAddress, EndPoint localAddress ) : bool
remoteAddress System.Net.EndPoint
localAddress System.Net.EndPoint
return bool
        protected override bool DoConnect(EndPoint remoteAddress, EndPoint localAddress)
        {
            if (localAddress != null)
            {
                Socket.Bind(localAddress);
            }

            var success = false;
            try
            {
                var eventPayload = new SocketChannelAsyncOperation(this, false);
                eventPayload.RemoteEndPoint = remoteAddress;
                var connected = !Socket.ConnectAsync(eventPayload);
                success = true;
                return connected;
            }
            finally
            {
                if (!success)
                {
                    DoClose();
                }
            }
        }