Beispiel #1
0
        protected Peer(ILog logger, INetworkMessageRouterService messageSender, IConnectionDetails details, INetworkMessageSubscriptionService subService,
			IDisconnectionServiceHandler disconnectHandler)
        {
            Throw<ArgumentNullException>.If.IsNull(logger)?.Now(nameof(logger));
            Throw<ArgumentNullException>.If.IsNull(messageSender)?.Now(nameof(messageSender));
            Throw<ArgumentNullException>.If.IsNull(details)?.Now(nameof(details));
            Throw<ArgumentNullException>.If.IsNull(subService)?.Now(nameof(subService));
            Throw<ArgumentNullException>.If.IsNull(disconnectHandler)?.Now(nameof(disconnectHandler));

            PeerDetails = details;
            NetworkSendService = messageSender;
            Logger = logger;
            disconnectionHandler = disconnectHandler;

            //All peers should care about status changes so we subscribe
            subService.SubscribeTo<StatusMessage>()
                .With(OnReceiveStatus);
        }