public async Task Subscribe <TNotificationData>(ISocketSubscriptionRequest socketRequest, Action <TNotificationData> callback) where TNotificationData : class { await Connect(); var socketAction = new SocketSubscriptionAction(socketRequest); socketAction.ResponseReceived += (o, e) => { var socketNotification = ApiExtensions.DecodeSocketNotification <TNotificationData>(e.Message); if (socketNotification.ErrorData != null) { throw new ConnectorException($"{socketNotification.ErrorData.Message}. {socketNotification.ErrorData.Description}"); } callback(socketNotification.NotificationParameters); }; RunAction(socketAction); }
public SocketSubscriptionAction(ISocketSubscriptionRequest socketRequest) : base((SocketRequest)socketRequest) { }