public RelayClient(IRelayClientEventHandler eventHandler, RelayTransactionManager transactionManager) { _eventHandler = eventHandler; _transactionManager = transactionManager; _serializer = new RelaySerializationHelper(); _auth = new RelayAuthService(); }
public async Task Connect(INetworkClient client) { await Initialize(); var transactionManager = new RelayTransactionManager(); var options = await client.ClientOptions; var remote = await Remote; var eventHandler = new NetworkEventHandler(this, client); var clientService = new RelayClient(eventHandler, transactionManager); var networkConnection = new NetworkConnection(this, clientService, eventHandler); // Try to connect transactionManager.SetEventLoop(true); client.NetworkConnection = networkConnection; await clientService.Connect(remote, options); // Save active connections _active.Add(new NetworkActiveService() { NetworkConnection = networkConnection, TransactionManager = transactionManager }); }