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.
bool ShouldAttemptDelivery(IMessageHubMessage message);
///
/// Deliver the message.
///
/// Message to deliver.
void Deliver(IMessageHubMessage message);
}
}