Opc.Ua.Bindings.TcpServerChannel.OnCleanup C# (CSharp) Method

OnCleanup() private method

Called when the channel needs to be cleaned up.
private OnCleanup ( object state ) : void
state object
return void
        private void OnCleanup(object state)
        {
            // nothing to do if the channel is now open or closed.
            lock (DataLock)
            {
                if (State == TcpChannelState.Closed || State == TcpChannelState.Open)
                {
                     return;
                }
            }                         

            // get reason for cleanup.
            ServiceResult reason = state as ServiceResult;

            if (reason == null)
            {
                reason = new ServiceResult(StatusCodes.BadTimeout);
            }

            Utils.Trace(
                "TCPSERVERCHANNEL Cleanup Socket={0:X8}, ChannelId={1}, TokenId={2}, Reason={3}",
                (Socket != null)?Socket.Handle:0,
                (CurrentToken != null)?CurrentToken.ChannelId:0,
                (CurrentToken != null)?CurrentToken.TokenId:0,
                reason.ToLongString());

            // close channel.
            ChannelClosed();
        }