本文整理汇总了C#中Microsoft.Protocols.TestTools.StackSdk.FileAccessService.Cifs.CifsServerPerConnection.GetPendingRequest方法的典型用法代码示例。如果您正苦于以下问题:C# CifsServerPerConnection.GetPendingRequest方法的具体用法?C# CifsServerPerConnection.GetPendingRequest怎么用?C# CifsServerPerConnection.GetPendingRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Protocols.TestTools.StackSdk.FileAccessService.Cifs.CifsServerPerConnection
的用法示例。
在下文中一共展示了CifsServerPerConnection.GetPendingRequest方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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;
}
}
}