private ReplayModelDurableHandle ConvertHandle(Smb2CreateContextResponse[] serverCreateContexts) { ReplayModelDurableHandle responseHandle = ReplayModelDurableHandle.NormalHandle; if (serverCreateContexts != null) { foreach (var context in serverCreateContexts) { if (context is Smb2CreateDurableHandleResponse) { responseHandle = ReplayModelDurableHandle.DurableHandleV1; break; } else if (context is Smb2CreateDurableHandleResponseV2) { Smb2CreateDurableHandleResponseV2 handleV2 = context as Smb2CreateDurableHandleResponseV2; if (handleV2.Flags == CREATE_DURABLE_HANDLE_RESPONSE_V2_Flags.DHANDLE_FLAG_PERSISTENT) { responseHandle = ReplayModelDurableHandle.DurableHandleV2Persistent; } else { responseHandle = ReplayModelDurableHandle.DurableHandleV2; } break; } } } return(responseHandle); }
public override void Check(Smb2CreateContextResponse response) { base.Check(response); Smb2CreateDurableHandleResponseV2 durableHandleResponse = response as Smb2CreateDurableHandleResponseV2; TestSite.Assert.AreEqual(flag, durableHandleResponse.Flags, "Flag in the response is expected to be {0}. The actual value is {1}.", flag, durableHandleResponse.Flags); if (timeout != uint.MaxValue) { TestSite.Assert.AreEqual(timeout, durableHandleResponse.Timeout, "Timeout in the response is expected to be {0}. The actual value is {1}.", timeout, durableHandleResponse.Timeout); } }
private bool CheckDurableCreateContextResponse(Smb2CreateContextResponse[] createContextResponses) { // check whether Persistent Handle is created successfully foreach (Smb2CreateContextResponse contextResponse in createContextResponses) { Smb2CreateDurableHandleResponseV2 durableHandleResponse = contextResponse as Smb2CreateDurableHandleResponseV2; if (durableHandleResponse != null) { BaseTestSite.Assert.IsTrue( durableHandleResponse.Flags.HasFlag(CREATE_DURABLE_HANDLE_RESPONSE_V2_Flags.DHANDLE_FLAG_PERSISTENT), "Flags in Smb2CreateDurableHandleResponseV2 should be Persistent flag"); return(true); } } return(false); }