Ejemplo n.º 1
0
 /// <inheritdoc />
 public GenericProxiedMessageContext([NotNull] IManagedNetworkClient <TPayloadReadType, TPayloadWriteType> proxyConnection, [NotNull] IConnectionService connectionService, [NotNull] IPeerPayloadSendService <TPayloadWriteType> payloadSendService, [NotNull] IPeerRequestSendService <TPayloadWriteType> requestSendService)
 {
     ProxyConnection    = proxyConnection ?? throw new ArgumentNullException(nameof(proxyConnection));
     ConnectionService  = connectionService ?? throw new ArgumentNullException(nameof(connectionService));
     PayloadSendService = payloadSendService ?? throw new ArgumentNullException(nameof(payloadSendService));
     RequestSendService = requestSendService ?? throw new ArgumentNullException(nameof(requestSendService));
 }
 static GenericMessageContextFactory()
 {
     try
     {
         MockedPeerRequestService = Mock.Of <IPeerRequestSendService <TPayloadWriteType> >();
     }
     catch (Exception e)
     {
         throw new InvalidOperationException($"Failed to create Mocked peer request service for Type: {nameof(TPayloadWriteType)}", e);
         throw;
     }
 }
 /// <inheritdoc />
 public HubConnectionMessageContext(
     [JetBrains.Annotations.NotNull] IConnectionService connectionService,
     [JetBrains.Annotations.NotNull] IPeerPayloadSendService <object> payloadSendService,
     [JetBrains.Annotations.NotNull] IPeerRequestSendService <object> requestSendService,
     [JetBrains.Annotations.NotNull] IGroupManager groups,
     [JetBrains.Annotations.NotNull] IHubCallerClients <TRemoteClientHubType> clients,
     [JetBrains.Annotations.NotNull] HubCallerContext hubConntext)
 {
     ConnectionService  = connectionService ?? throw new ArgumentNullException(nameof(connectionService));
     PayloadSendService = payloadSendService ?? throw new ArgumentNullException(nameof(payloadSendService));
     RequestSendService = requestSendService ?? throw new ArgumentNullException(nameof(requestSendService));
     Groups             = groups ?? throw new ArgumentNullException(nameof(groups));
     Clients            = clients ?? throw new ArgumentNullException(nameof(clients));
     HubConntext        = hubConntext ?? throw new ArgumentNullException(nameof(hubConntext));
 }
Ejemplo n.º 4
0
        /// <inheritdoc />
        public DefaultPeerMessageContext(IConnectionService connectionService, IPeerPayloadSendService <TPayloadBaseType> payloadSendService, IPeerRequestSendService <TPayloadBaseType> requestSendService)
        {
            if (connectionService == null)
            {
                throw new ArgumentNullException(nameof(connectionService));
            }
            if (payloadSendService == null)
            {
                throw new ArgumentNullException(nameof(payloadSendService));
            }
            if (requestSendService == null)
            {
                throw new ArgumentNullException(nameof(requestSendService));
            }

            ConnectionService  = connectionService;
            PayloadSendService = payloadSendService;
            RequestSendService = requestSendService;
        }
        /// <inheritdoc />
        public AuthSessionMessageContext([NotNull] IConnectionService connectionService, [NotNull] IPeerPayloadSendService <AuthenticationServerPayload> payloadSendService, [NotNull] IPeerRequestSendService <AuthenticationServerPayload> requestSendService, [NotNull] SessionDetails details)
        {
            if (connectionService == null)
            {
                throw new ArgumentNullException(nameof(connectionService));
            }
            if (payloadSendService == null)
            {
                throw new ArgumentNullException(nameof(payloadSendService));
            }
            if (requestSendService == null)
            {
                throw new ArgumentNullException(nameof(requestSendService));
            }
            if (details == null)
            {
                throw new ArgumentNullException(nameof(details));
            }

            ConnectionService  = connectionService;
            PayloadSendService = payloadSendService;
            RequestSendService = requestSendService;
            Details            = details;
        }
Ejemplo n.º 6
0
        //This extension mostly exists for the old TCP-only API
        /// <summary>
        /// Sends the <see cref="request"/> payload and provided a future awaitable
        /// that can yield the <typeparamref name="TResponseType"/> payload.
        /// </summary>
        /// <typeparam name="TResponseType"></typeparam>
        /// <typeparam name="TPayloadBaseType"></typeparam>
        /// <param name="sendService"></param>
        /// <param name="request">The request payload.</param>
        /// <returns>A future that contains the response.</returns>
        public static Task <TResponseType> SendRequestAsync <TPayloadBaseType, TResponseType>(this IPeerRequestSendService <TPayloadBaseType> sendService, TPayloadBaseType request)
            where TPayloadBaseType : class
        {
            if (sendService == null)
            {
                throw new ArgumentNullException(nameof(sendService));
            }
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            //Since no delivry or cancel was provided we should default to reliable and also make sure there is no cancel
            return(sendService.SendRequestAsync <TResponseType>(request, DeliveryMethod.ReliableOrdered, CancellationToken.None));
        }
Ejemplo n.º 7
0
 static AuthServerClientSession()
 {
     MockedInterceptor = Mock.Of <IPeerRequestSendService <AuthenticationServerPayload> >();
 }
Ejemplo n.º 8
0
 /// <inheritdoc />
 public DefaultSessionMessageContext([NotNull] IConnectionService connectionService, [NotNull] IPeerPayloadSendService <TPayloadWriteType> payloadSendService, [NotNull] IPeerRequestSendService <TPayloadWriteType> requestSendService, [NotNull] SessionDetails details)
 {
     ConnectionService  = connectionService ?? throw new ArgumentNullException(nameof(connectionService));
     PayloadSendService = payloadSendService ?? throw new ArgumentNullException(nameof(payloadSendService));
     RequestSendService = requestSendService ?? throw new ArgumentNullException(nameof(requestSendService));
     Details            = details ?? throw new ArgumentNullException(nameof(details));
 }
Ejemplo n.º 9
0
        /// <inheritdoc />
        public IPeerMessageContext <TPayloadBaseType> Create <TPayloadBaseType>(IConnectionService connectionService, IPeerPayloadSendService <TPayloadBaseType> sendService, IPeerRequestSendService <TPayloadBaseType> requestService)
            where TPayloadBaseType : class
        {
            if (connectionService == null)
            {
                throw new ArgumentNullException(nameof(connectionService));
            }
            if (sendService == null)
            {
                throw new ArgumentNullException(nameof(sendService));
            }

            //This doesn't have to work like this, it could be other services/dependencies,
            //but the only implementation right now is the client itself.
            return(new DefaultPeerMessageContext <TPayloadBaseType>(connectionService, sendService, requestService));
        }