mirror of
https://github.com/OPCFoundation/UA-.NETStandard.git
synced 2026-10-28 22:55:49 +08:00
Merge branch 'martin_certs' of https://github.com/mregen/UA-.NetStandardLibrary.git
This commit is contained in:
@@ -540,8 +540,12 @@ namespace Opc.Ua.Bindings
|
||||
BufferManager.UnlockBuffer(m_receiveBuffer);
|
||||
}
|
||||
|
||||
Utils.TraceDebug("Bytes read: {0}", bytesRead);
|
||||
|
||||
if (bytesRead == 0)
|
||||
{
|
||||
// Remote end has closed the connection
|
||||
|
||||
// free the empty receive buffer.
|
||||
if (m_receiveBuffer != null)
|
||||
{
|
||||
@@ -549,11 +553,9 @@ namespace Opc.Ua.Bindings
|
||||
m_receiveBuffer = null;
|
||||
}
|
||||
|
||||
return ServiceResult.Good;
|
||||
return ServiceResult.Create(StatusCodes.BadConnectionClosed, "Remote side closed connection");
|
||||
}
|
||||
|
||||
// Utils.Trace("Bytes read: {0}", bytesRead);
|
||||
|
||||
m_bytesReceived += bytesRead;
|
||||
|
||||
// check if more data left to read.
|
||||
|
||||
@@ -229,7 +229,7 @@ namespace Opc.Ua.Bindings
|
||||
}
|
||||
}
|
||||
|
||||
Utils.Trace("{0}: Channel {1} - Duplicate sequence number: {2} <= {3}", context, this.ChannelId, sequenceNumber, m_remoteSequenceNumber);
|
||||
Utils.Trace((int)Utils.TraceMasks.Error, "{0}: Channel {1} - Duplicate sequence number: {2} <= {3}", context, this.ChannelId, sequenceNumber, m_remoteSequenceNumber);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -284,7 +284,7 @@ namespace Opc.Ua.Bindings
|
||||
{
|
||||
uint messageType = BitConverter.ToUInt32(message.Array, message.Offset);
|
||||
|
||||
//Utils.Trace("{1} Message Received: {0} bytes", message.Count, messageType);
|
||||
Utils.TraceDebug("{1} Message Received: {0} bytes", message.Count, messageType);
|
||||
|
||||
if (!HandleIncomingMessage(messageType, message))
|
||||
{
|
||||
@@ -364,6 +364,8 @@ namespace Opc.Ua.Bindings
|
||||
|
||||
try
|
||||
{
|
||||
Utils.TraceDebug("Bytes written: {0}", e.BytesTransferred);
|
||||
|
||||
if (e.BytesTransferred == 0)
|
||||
{
|
||||
error = ServiceResult.Create(StatusCodes.BadConnectionClosed, "The socket was closed by the remote application.");
|
||||
@@ -509,8 +511,6 @@ namespace Opc.Ua.Bindings
|
||||
reason = new UTF8Encoding().GetString(reasonBytes, 0, reasonLength);
|
||||
}
|
||||
|
||||
// Utils.Trace("Channel {0}: Read = {1}", ChannelId, reason);
|
||||
|
||||
return ServiceResult.Create(statusCode, "Error received from remote host: {0}", reason);
|
||||
}
|
||||
|
||||
@@ -555,7 +555,7 @@ namespace Opc.Ua.Bindings
|
||||
buffer[offset++] = (byte)((messageType & 0x000000FF));
|
||||
buffer[offset++] = (byte)((messageType & 0x0000FF00) >> 8);
|
||||
buffer[offset++] = (byte)((messageType & 0x00FF0000) >> 16);
|
||||
buffer[offset++] = (byte)((messageType & 0xFF000000) >> 24);
|
||||
buffer[offset ] = (byte)((messageType & 0xFF000000) >> 24);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -573,7 +573,7 @@ namespace Opc.Ua.Bindings
|
||||
buffer[offset++] = (byte)((messageSize & 0x000000FF));
|
||||
buffer[offset++] = (byte)((messageSize & 0x0000FF00) >> 8);
|
||||
buffer[offset++] = (byte)((messageSize & 0x00FF0000) >> 16);
|
||||
buffer[offset++] = (byte)((messageSize & 0xFF000000) >> 24);
|
||||
buffer[offset ] = (byte)((messageSize & 0xFF000000) >> 24);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -679,35 +679,35 @@ namespace Opc.Ua.Bindings
|
||||
// process a response.
|
||||
if (TcpMessageType.IsType(messageType, TcpMessageType.Message))
|
||||
{
|
||||
//Utils.Trace("Channel {0}: ProcessResponseMessage", ChannelId);
|
||||
Utils.TraceDebug("Channel {0}: ProcessResponseMessage", ChannelId);
|
||||
return ProcessResponseMessage(messageType, messageChunk);
|
||||
}
|
||||
|
||||
// check for acknowledge.
|
||||
else if (messageType == TcpMessageType.Acknowledge)
|
||||
{
|
||||
//Utils.Trace("Channel {0}: ProcessAcknowledgeMessage", ChannelId);
|
||||
Utils.TraceDebug("Channel {0}: ProcessAcknowledgeMessage", ChannelId);
|
||||
return ProcessAcknowledgeMessage(messageChunk);
|
||||
}
|
||||
|
||||
// check for error.
|
||||
else if (messageType == TcpMessageType.Error)
|
||||
{
|
||||
//Utils.Trace("Channel {0}: ProcessErrorMessage", ChannelId);
|
||||
Utils.TraceDebug("Channel {0}: ProcessErrorMessage", ChannelId);
|
||||
return ProcessErrorMessage(messageType, messageChunk);
|
||||
}
|
||||
|
||||
// process open secure channel repsonse.
|
||||
else if (TcpMessageType.IsType(messageType, TcpMessageType.Open))
|
||||
{
|
||||
//Utils.Trace("Channel {0}: ProcessOpenSecureChannelResponse", ChannelId);
|
||||
Utils.TraceDebug("Channel {0}: ProcessOpenSecureChannelResponse", ChannelId);
|
||||
return ProcessOpenSecureChannelResponse(messageType, messageChunk);
|
||||
}
|
||||
|
||||
// process a response to a close request.
|
||||
else if (TcpMessageType.IsType(messageType, TcpMessageType.Close))
|
||||
{
|
||||
//Utils.Trace("Channel {0}: ProcessResponseMessage (close)", ChannelId);
|
||||
Utils.TraceDebug("Channel {0}: ProcessResponseMessage (close)", ChannelId);
|
||||
return ProcessResponseMessage(messageType, messageChunk);
|
||||
}
|
||||
|
||||
@@ -1230,8 +1230,6 @@ namespace Opc.Ua.Bindings
|
||||
/// </summary>
|
||||
protected bool ProcessErrorMessage(uint messageType, ArraySegment<byte> messageChunk)
|
||||
{
|
||||
Utils.Trace("Channel {0}: ProcessErrorMessage()", ChannelId);
|
||||
|
||||
// read request buffer sizes.
|
||||
MemoryStream istrm = new MemoryStream(messageChunk.Array, messageChunk.Offset, messageChunk.Count, false);
|
||||
BinaryDecoder decoder = new BinaryDecoder(istrm, Quotas.MessageContext);
|
||||
@@ -1242,6 +1240,8 @@ namespace Opc.Ua.Bindings
|
||||
{
|
||||
ServiceResult error = ReadErrorMessageBody(decoder);
|
||||
|
||||
Utils.Trace((int)Utils.TraceMasks.Error, "Channel {0}: ProcessErrorMessage({1})", ChannelId, error);
|
||||
|
||||
// check if a handshake is in progress
|
||||
if (m_handshakeOperation != null)
|
||||
{
|
||||
|
||||
@@ -342,7 +342,15 @@ namespace Opc.Ua
|
||||
{
|
||||
Trace((int)TraceMasks.Information, format, args);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Writes an informational message to the trace log.
|
||||
/// </summary>
|
||||
public static void TraceDebug(string format, params object[] args)
|
||||
{
|
||||
Trace((int)TraceMasks.OperationDetail, format, args);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes an informational message to the trace log.
|
||||
/// </summary>
|
||||
@@ -431,9 +439,9 @@ namespace Opc.Ua
|
||||
|
||||
TraceWriteLine(message.ToString(), null);
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region File Access
|
||||
#region File Access
|
||||
/// <summary>
|
||||
/// Replaces a prefix enclosed in '%' with a special folder or environment variable path (e.g. %ProgramFiles%\MyCompany).
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user