本文整理汇总了C#中Microsoft.Protocols.TestTools.StackSdk.FileAccessService.Cifs.CifsServerPerConnection.RemovePendingRequest方法的典型用法代码示例。如果您正苦于以下问题:C# CifsServerPerConnection.RemovePendingRequest方法的具体用法?C# CifsServerPerConnection.RemovePendingRequest怎么用?C# CifsServerPerConnection.RemovePendingRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Protocols.TestTools.StackSdk.FileAccessService.Cifs.CifsServerPerConnection
的用法示例。
在下文中一共展示了CifsServerPerConnection.RemovePendingRequest方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RemoveRequestAndSequence
/// <summary>
/// remove request and sequence if the response is the final response.
/// </summary>
/// <param name="connection">the connection on which to remove the request and sequence</param>
/// <param name="response">the response for which to remove the request and sequence</param>
protected virtual void RemoveRequestAndSequence(CifsServerPerConnection connection, SmbPacket response)
{
if (response is SmbWriteRawInterimResponsePacket
|| response is SmbNtTransactInterimResponsePacket
|| response is SmbTransactionInterimResponsePacket
|| response is SmbTransaction2InterimResponsePacket)
{
return;
}
connection.RemovePendingRequest(response.SmbHeader.Mid);
connection.RemoveSequenceNumber(response);
}
示例2: UpdateRoleContext
/// <summary>
/// Update the context of cifs server
/// </summary>
/// <param name="connection">The connection between client and server.</param>
/// <param name="packet">The sent or received packet in stack transport.</param>
public virtual void UpdateRoleContext(CifsServerPerConnection connection, SmbPacket packet)
{
if (connection == null || packet == null)
{
return;
}
if (packet is SmbReadRawResponsePacket)
{
if (connection.PendingRequestTable.Count != 1)
{
return;
}
SmbPacket request = connection.PendingRequestTable[0] as SmbPacket;
this.UpdateResponseRoleContext(connection, request, packet);
connection.RemovePendingRequest(request.SmbHeader.Mid);
connection.RemoveSequenceNumber(packet);
return;
}
else
{
switch(packet.PacketType)
{
case SmbPacketType.BatchedRequest:
case SmbPacketType.SingleRequest:
if (connection.IsSigningActive)
{
packet.IsSignatureCorrect = CifsMessageUtils.VerifySignature(packet,
connection.SigningSessionKey, connection.ServerNextReceiveSequenceNumber,
connection.SigningChallengeResponse);
}
this.UpdateRequestRoleConext(connection, packet);
break;
case SmbPacketType.BatchedResponse:
case SmbPacketType.SingleResponse:
SmbPacket request = connection.GetPendingRequest(packet.SmbHeader.Mid);
this.UpdateResponseRoleContext(connection, request, packet);
this.RemoveRequestAndSequence(connection, packet);
break;
default:
break;
}
}
}