private void Setup() { _publishSubscribe .Observe <(string connectionId, string groupName)>(_addGroupAsyncTopic) .Subscribe(tuple => _defaultHubLifetimeManager.AddGroupAsync(tuple.Data.connectionId, tuple.Data.connectionId).GetAwaiter().GetResult(), _cancellationTokenSource.Token); _publishSubscribe .Observe <(string methodName, object[] args)>(_invokeAllAsyncTopic) .Subscribe(tuple => _defaultHubLifetimeManager.InvokeAllAsync(tuple.Data.methodName, tuple.Data.args).GetAwaiter().GetResult(), _cancellationTokenSource.Token); _publishSubscribe .Observe <(string methodName, object[] args, IReadOnlyList <string> excludedIds)>(_invokeAllExceptAsyncTopic) .Subscribe(tuple => _defaultHubLifetimeManager.InvokeAllExceptAsync(tuple.Data.methodName, tuple.Data.args, tuple.Data.excludedIds).GetAwaiter().GetResult(), _cancellationTokenSource.Token); _publishSubscribe .Observe <(string connectionId, string methodName, object[] args)>(_invokeConnectionAsyncTopic) .Subscribe(tuple => _defaultHubLifetimeManager.InvokeConnectionAsync(tuple.Data.connectionId, tuple.Data.methodName, tuple.Data.args).GetAwaiter().GetResult(), _cancellationTokenSource.Token); _publishSubscribe .Observe <(string groupName, string methodName, object[] args)>(_invokeGroupAsyncTopic) .Subscribe(tuple => _defaultHubLifetimeManager.InvokeGroupAsync(tuple.Data.groupName, tuple.Data.methodName, tuple.Data.args).GetAwaiter().GetResult(), _cancellationTokenSource.Token); _publishSubscribe .Observe <(string userId, string methodName, object[] args)>(_invokeUserAsyncTopic) .Subscribe(tuple => _defaultHubLifetimeManager.InvokeUserAsync(tuple.Data.userId, tuple.Data.methodName, tuple.Data.args).GetAwaiter().GetResult(), _cancellationTokenSource.Token); _publishSubscribe .Observe <(string connectionId, string groupName)>(_removeGroupAsyncTopic) .Subscribe(tuple => _defaultHubLifetimeManager.RemoveGroupAsync(tuple.Data.connectionId, tuple.Data.groupName).GetAwaiter().GetResult(), _cancellationTokenSource.Token); }