Пример #1
0
 public NetworkConnection(NetworkConnectionManager manager, RelayMaster masterService, NetworkEventHandler eventHandler)
 {
     _manager            = manager;
     _masterService      = masterService;
     _transactionManager = new NetworkTransactionManager();
     eventHandler.Connected(this);
 }
Пример #2
0
        public async Task Connect(INetworkMaster master)
        {
            await Initialize();

            var transactionManager = new RelayTransactionManager();
            var options            = await master.MasterOptions;
            var remote             = await Remote;
            var eventHandler       = new NetworkEventHandler(this, master);
            var masterService      = new RelayMaster(eventHandler, transactionManager);
            var networkConnection  = new NetworkConnection(this, masterService, eventHandler);

            // Try to connect
            transactionManager.SetEventLoop(true);
            master.NetworkConnection = networkConnection;
            await masterService.Connect(remote, options);

            // Save active connections
            _active.Add(new NetworkActiveService()
            {
                NetworkConnection  = networkConnection,
                TransactionManager = transactionManager
            });
        }