public async Task StartListenerAsync() { Core.Log.LibVerbose("Starting Bot engine listener..."); await Transport.ConnectAsync().ConfigureAwait(false); Core.Log.LibVerbose("Started."); }
public IEnumerator Connect() => UniTask.ToCoroutine(async() => { transport1.Scheme.Returns(new[] { "yomama" }); transport2.Scheme.Returns(new[] { "kcp" }); transport1.ConnectAsync(Arg.Any <Uri>()) .Returns(UniTask.FromException <IConnection>(new ArgumentException("Invalid protocol"))); // transport2 gives a connection transport2.ConnectAsync(Arg.Any <Uri>()) .Returns(UniTask.FromResult(conn2)); IConnection accepted1 = await transport.ConnectAsync(new Uri("kcp://localhost")); Assert.That(accepted1, Is.SameAs(conn2)); });
public async Task StartListenerAsync() { Core.Log.LibVerbose("Starting Bot engine listener..."); await Transport.ConnectAsync().ConfigureAwait(false); OnConnected?.Invoke(this, EventArgs.Empty); Core.Log.LibVerbose("Started."); }
public IEnumerator Connect() => RunAsync(async() => { transport1.Supported.Returns(false); // transport2 gives a connection transport2.ConnectAsync(Arg.Any <Uri>()) .Returns(Task.FromResult(conn2)); IConnection accepted1 = await transport.ConnectAsync(new Uri("tcp4://localhost")); Assert.That(accepted1, Is.SameAs(conn2)); });
public async Task <RSocketClient> ConnectAsync() { await Transport.ConnectAsync(); var server = RSocketProtocol.Handler2(this, Transport.Input, CancellationToken.None); ////TODO Move defaults to policy object new RSocketProtocol.Setup(keepalive: TimeSpan.FromSeconds(60), lifetime: TimeSpan.FromSeconds(180), metadataMimeType: "binary", dataMimeType: "binary").Write(Transport.Output); await Transport.Output.FlushAsync(); return(this); }
private void Init() { if (string.IsNullOrEmpty(Token)) { Disconnect(); return; } var args = new SocketAsyncEventArgs(); args.RemoteEndPoint = new DnsEndPoint(DataHost, DataPort); args.Completed += Transport_Connected; Transport.ConnectAsync(args); }
private async void OnBroadcastReceived(EndPoint endPoint, ArraySegment <byte> buffer) { var msgParts = Encoding.ASCII.GetString(buffer.Array, buffer.Offset, buffer.Count).Split(':'); var remoteId = Guid.Parse(msgParts[1]); if (_id == remoteId) { return; } var remoteIP = ((IPEndPoint)endPoint).Address; var remotePort = int.Parse(msgParts[2]); var remoteEndpoint = new IPEndPoint(remoteIP, remotePort); await _transport.ConnectAsync(remoteEndpoint); }
public static async Task <DBusConnection> ConnectAsync(ClientSetupResult connectionContext, Action <Exception> onDisconnect, CancellationToken cancellationToken, IEnumerable <IClientObjectProvider> clientProviders) { var _entries = AddressEntry.ParseEntries(connectionContext.ConnectionAddress); if (_entries.Length == 0) { throw new ArgumentException("No addresses were found", nameof(connectionContext.ConnectionAddress)); } Guid _serverId = Guid.Empty; IMessageStream stream = null; var index = 0; while (index < _entries.Length) { AddressEntry entry = _entries[index++]; _serverId = entry.Guid; try { stream = await Transport.ConnectAsync(entry, connectionContext, cancellationToken) .TimeoutAfter(connectionContext.InitialTimeout) .ConfigureAwait(false); } catch { if (index < _entries.Length) { continue; } throw; } break; } return(await CreateAndConnectAsync(stream, onDisconnect, clientProviders, true, connectionContext.InitialTimeout)); }