public PrimitiveEndpointClientRequest(StrongTypedNodeEndpoint endpoint, string method, XElement body)
 {
     this.endpoint           = endpoint;
     this.method             = method;
     this.body               = body;
     this.waitingForResponse = false;
 }
 public PrimitiveEndpointClientResponse(StrongTypedNodeEndpoint endpoint, Stream stream)
 {
     this.endpoint     = endpoint;
     this.requestState = NodeService.RequestState.ReceivedStream;
     this.stream       = stream;
     this.stream.Seek(0, SeekOrigin.Begin);
 }
 public PrimitiveEndpointRequest(StrongTypedNodeEndpoint endpoint, string method, Action <T> callback)
 {
     this.endpoint           = endpoint;
     this.method             = method;
     this.waitingForResponse = false;
     this.callback           = callback;
     this.body = new XElement("Parameters");
 }
        private static XElement GetContractDescription(Type serviceType)
        {
            List <Type> types = new List <Type>();

            MethodInfo[] methodInfos = StrongTypedNodeEndpoint.GetMethodInfos(serviceType);
            foreach (var methodInfo in methodInfos)
            {
                CollectType(methodInfo, types);
            }

            return(new XElement(
                       "Contract",
                       new XElement("Methods", methodInfos.Select(GetMethodContractDescription).ToArray()),
                       new XElement("Types", types.Select(GetTypeContractDescription).Where(e => e != null).ToArray())
                       ));
        }
 public PrimitiveEndpointClientProvider(StrongTypedNodeEndpoint endpoint)
 {
     this.endpoint = endpoint;
 }
 public PrimitiveEndpointClientResponse(StrongTypedNodeEndpoint endpoint, Exception exception)
 {
     this.endpoint     = endpoint;
     this.requestState = NodeService.RequestState.RaisedException;
     this.exception    = exception;
 }
 public PrimitiveEndpointClientResponse(StrongTypedNodeEndpoint endpoint, XNode response)
 {
     this.endpoint     = endpoint;
     this.requestState = NodeService.RequestState.ReceivedResponse;
     this.response     = response;
 }