public NetworkConnection(NetworkConnectionManager manager, RelayMaster masterService, NetworkEventHandler eventHandler) { _manager = manager; _masterService = masterService; _transactionManager = new NetworkTransactionManager(); eventHandler.Connected(this); }
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 }); }