Microsoft.Protocols.TestTools.StackSdk.BranchCache.Pchc.PCHCClient.SendBatchedOfferMessage C# (CSharp) Method

SendBatchedOfferMessage() public method

Send the BATCHED_OFFER_MESSAGE request.
public SendBatchedOfferMessage ( BATCHED_OFFER_MESSAGE batchedOfferMessage ) : RESPONSE_MESSAGE
batchedOfferMessage BATCHED_OFFER_MESSAGE The BATCHED_OFFER_MESSAGE message.
return RESPONSE_MESSAGE
        public RESPONSE_MESSAGE SendBatchedOfferMessage(BATCHED_OFFER_MESSAGE batchedOfferMessage)
        {
            List<byte> buffer = new List<byte>();
            buffer.AddRange(TypeMarshal.ToBytes(batchedOfferMessage.MessageHeader));
            buffer.AddRange(TypeMarshal.ToBytes(batchedOfferMessage.ConnectionInfo));
            for (int i = 0; i < batchedOfferMessage.SegmentDescriptors.Length; i++)
            {
                buffer.AddRange(TypeMarshal.ToBytes(batchedOfferMessage.SegmentDescriptors[i]));
            }
            return this.responseMessage = this.SendByte(buffer.ToArray());
        }

Usage Example

        public void HostedCacheServer_PchcServer_BatchedOffer_SegmentDescriptorTooMany()
        {
            CheckApplicability();

            var contentInformation = contentInformationUtility.CreateContentInformationV2();

            using (var pccrrServer = new PccrrServer(testConfig.ClientContentRetrievalListenPort))
            {
                pccrrServer.StartListening();

                pccrrServer.MessageArrived += new MessageArrivedEventArgs(delegate(IPEndPoint sender, PccrrPacket pccrrPacket)
                {
                    BaseTestSite.Assert.Fail("Hosted cache server should not retrieve content information with more than 128 segment descriptions");
                });

                PCHCClient pchcClient = new PCHCClient(
                    TransferProtocol.HTTP,
                    testConfig.HostedCacheServerComputerName,
                    testConfig.HostedCacheServerHTTPListenPort,
                    PchcConsts.HttpUrl,
                    testConfig.DomainName,
                    testConfig.UserName,
                    testConfig.UserPassword);

                var batchedOffer = pchcClient.CreateBatchedOfferMessage(
                    testConfig.ClientContentRetrievalListenPort,
                    contentInformation);

                List<SegmentDescriptor> segmentDescriptors = new List<SegmentDescriptor>();
                for (int i = 0; i < 129; i++)
                {
                    segmentDescriptors.Add(batchedOffer.SegmentDescriptors[0]);
                }
                batchedOffer.SegmentDescriptors = segmentDescriptors.ToArray();

                bool passed = false;
                try
                {
                    pchcClient.SendBatchedOfferMessage(batchedOffer);
                }
                catch
                {
                    passed = true;
                }

                BaseTestSite.Assert.IsTrue(passed, "Hosted cache server should drop invalid batched offer request");
            }
        }
All Usage Examples Of Microsoft.Protocols.TestTools.StackSdk.BranchCache.Pchc.PCHCClient::SendBatchedOfferMessage