Example #1
0
 public RelayClient(IRelayClientEventHandler eventHandler, RelayTransactionManager transactionManager)
 {
     _eventHandler       = eventHandler;
     _transactionManager = transactionManager;
     _serializer         = new RelaySerializationHelper();
     _auth = new RelayAuthService();
 }
Example #2
0
        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
            });
        }