ProbeDuplexCD1AsyncResult.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / VersionCD1 / ProbeDuplexCD1AsyncResult.cs / 1305376 / ProbeDuplexCD1AsyncResult.cs

                            //---------------------------------------------------------------- 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//---------------------------------------------------------------

namespace System.ServiceModel.Discovery.VersionCD1 
{
    using System.Runtime; 
 
    sealed class ProbeDuplexCD1AsyncResult : ProbeDuplexAsyncResult
    { 
        internal ProbeDuplexCD1AsyncResult(ProbeMessageCD1 probeMessage,
            IDiscoveryServiceImplementation discoveryServiceImpl,
            IMulticastSuppressionImplementation multicastSuppressionImpl,
            AsyncCallback callback, 
            object state)
            : base(probeMessage, discoveryServiceImpl, multicastSuppressionImpl, callback, state) 
        { 
        }
 
        public static void End(IAsyncResult result)
        {
            AsyncResult.End(result);
        } 

        protected override bool ValidateContent(ProbeMessageCD1 probeMessage) 
        { 
            if ((probeMessage == null) || (probeMessage.Probe == null))
            { 
                if (TD.DiscoveryMessageWithNoContentIsEnabled())
                {
                    TD.DiscoveryMessageWithNoContent(ProtocolStrings.TracingStrings.Probe);
                } 

                return false; 
            } 
            return true;
        } 

        protected override FindCriteria GetFindCriteria(ProbeMessageCD1 probeMessage)
        {
            return probeMessage.Probe.ToFindCriteria(); 
        }
 
        protected override IAsyncResult BeginSendFindResponse( 
            IDiscoveryResponseContractCD1 responseChannel,
            DiscoveryMessageSequence discoveryMessageSequence, 
            EndpointDiscoveryMetadata matchingEndpoint,
            AsyncCallback callback,
            object state)
        { 
            return responseChannel.BeginProbeMatchOperation(
                ProbeMatchesMessageCD1.Create( 
                discoveryMessageSequence, 
                matchingEndpoint),
                callback, 
                state);
        }

        protected override void EndSendFindResponse(IDiscoveryResponseContractCD1 responseChannel, IAsyncResult result) 
        {
            responseChannel.EndProbeMatchOperation(result); 
        } 

        protected override IAsyncResult BeginSendProxyAnnouncement( 
            IDiscoveryResponseContractCD1 responseChannel,
            DiscoveryMessageSequence discoveryMessageSequence,
            EndpointDiscoveryMetadata proxyEndpointDiscoveryMetadata,
            AsyncCallback callback, 
            object state)
        { 
            return responseChannel.BeginHelloOperation( 
                HelloMessageCD1.Create(
                discoveryMessageSequence, 
                proxyEndpointDiscoveryMetadata),
                callback,
                state);
        } 

        protected override void EndSendProxyAnnouncement(IDiscoveryResponseContractCD1 responseChannel, IAsyncResult result) 
        { 
            responseChannel.EndHelloOperation(result);
        } 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK