コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
        }