public Messaging.Subscription Subscribe(string channelName, int pollingInterval, AsyncCallback <List <Message> > callback, Messaging.SubscriptionOptions subscriptionOptions) { checkChannelName(channelName); if (pollingInterval < 0) { throw new ArgumentException(ExceptionMessage.WRONG_POLLING_INTERVAL); } string subscriptionId = subscribeForPollingAccess(channelName, subscriptionOptions); Messaging.Subscription subscription = new Messaging.Subscription(); subscription.ChannelName = channelName; subscription.SubscriptionId = subscriptionId; if (pollingInterval != 0) { subscription.PollingInterval = pollingInterval; } subscription.OnSubscribe(callback); return(subscription); }
public void Subscribe(string channelName, int pollingInterval, AsyncCallback <List <Message> > callback, Messaging.SubscriptionOptions subscriptionOptions, AsyncCallback <Subscription> subscriptionCallback) { checkChannelName(channelName); if (pollingInterval < 0) { throw new ArgumentException(ExceptionMessage.WRONG_POLLING_INTERVAL); } var responder = new AsyncCallback <string>(r => { Messaging.Subscription subscription = new Messaging.Subscription(); subscription.ChannelName = channelName; subscription.SubscriptionId = r; if (pollingInterval != 0) { subscription.PollingInterval = pollingInterval; } subscription.OnSubscribe(callback); if (subscriptionCallback != null) { subscriptionCallback.ResponseHandler.Invoke(subscription); } }, f => { if (subscriptionCallback != null) { subscriptionCallback.ErrorHandler.Invoke(f); } else { throw new BackendlessException(f); } }); subscribeForPollingAccess(channelName, subscriptionOptions, responder); }
public void Subscribe( string channelName, int pollingInterval, AsyncCallback<List<Message>> callback, Messaging.SubscriptionOptions subscriptionOptions, AsyncCallback<Subscription> subscriptionCallback ) { checkChannelName( channelName ); if( pollingInterval < 0 ) throw new ArgumentException( ExceptionMessage.WRONG_POLLING_INTERVAL ); var responder = new AsyncCallback<string>( r => { Messaging.Subscription subscription = new Messaging.Subscription(); subscription.ChannelName = channelName; subscription.SubscriptionId = r; if( pollingInterval != 0 ) subscription.PollingInterval = pollingInterval; subscription.OnSubscribe( callback ); if( subscriptionCallback != null ) subscriptionCallback.ResponseHandler.Invoke( subscription ); }, f => { if( subscriptionCallback != null ) subscriptionCallback.ErrorHandler.Invoke( f ); else throw new BackendlessException( f ); } ); subscribeForPollingAccess( channelName, subscriptionOptions, responder ); }
public Messaging.Subscription Subscribe( string channelName, int pollingInterval, AsyncCallback<List<Message>> callback, Messaging.SubscriptionOptions subscriptionOptions ) { checkChannelName( channelName ); if( pollingInterval < 0 ) throw new ArgumentException( ExceptionMessage.WRONG_POLLING_INTERVAL ); string subscriptionId = subscribeForPollingAccess( channelName, subscriptionOptions ); Messaging.Subscription subscription = new Messaging.Subscription(); subscription.ChannelName = channelName; subscription.SubscriptionId = subscriptionId; if( pollingInterval != 0 ) subscription.PollingInterval = pollingInterval; subscription.OnSubscribe( callback ); return subscription; }