using System;
namespace Swan.Messaging {
///
/// Represents a message subscription.
///
public interface IMessageHubSubscription {
///
/// Token returned to the subscribed to reference this subscription.
///
MessageHubSubscriptionToken SubscriptionToken {
get;
}
///
/// Whether delivery should be attempted.
///
/// Message that may potentially be delivered.
/// true - ok to send, false - should not attempt to send.
Boolean ShouldAttemptDelivery(IMessageHubMessage message);
///
/// Deliver the message.
///
/// Message to deliver.
void Deliver(IMessageHubMessage message);
}
}