Opc.Ua.Bindings.TcpServerChannel.SendErrorMessage C# (CSharp) 메소드

SendErrorMessage() 보호된 메소드

Sends an error message over the socket.
protected SendErrorMessage ( ServiceResult error ) : void
error ServiceResult
리턴 void
        protected void SendErrorMessage(ServiceResult error)
        {
            // Utils.Trace("Channel {0}: SendErrorMessage()", ChannelId);

            byte[] buffer = BufferManager.TakeBuffer(SendBufferSize, "SendErrorMessage");

            try
            {
                BinaryEncoder encoder = new BinaryEncoder(buffer, 0, SendBufferSize, Quotas.MessageContext);

                encoder.WriteUInt32(null, TcpMessageType.Error);
                encoder.WriteUInt32(null, 0);
                
                WriteErrorMessageBody(encoder, error);
                                
                int size = encoder.Close();
                UpdateMessageSize(buffer, 0, size);
                
                BeginWriteMessage(new ArraySegment<byte>(buffer, 0, size), Int32.MaxValue, null);
                buffer = null;
            }
            finally 
            {
                if (buffer != null)
                {
                    BufferManager.ReturnBuffer(buffer, "SendErrorMessage");
                }
            }
        }