Classes Files

com::wombat::mama::MamaResourcePool

Public Functions

  Name
  MamaResourcePool(final String name)
synchronized void destroy()
synchronized MamaSubscription createSubscriptionFromUri(final String uri, final MamaSubscriptionCallback callbacks, final Object closure)
synchronized MamaSubscription createSubscriptionFromComponents(final String transportName, final String sourceName, final String topicName, final MamaSubscriptionCallback callbacks, final Object closure)
synchronized MamaSubscription createSubscriptionFromTopicWithSource(final String sourceName, final String topicName, final MamaSubscriptionCallback callbacks, final Object closure)
synchronized MamaSubscription createSubscriptionFromTopic(final String topicName, final MamaSubscriptionCallback callbacks, final Object closure)
synchronized MamaTransport createTransportFromName(final String transportName)
synchronized void destroySubscription(final MamaSubscription subscription)

Public Functions Documentation

function MamaResourcePool

inline MamaResourcePool(
    final String name
)

Parameters:

  • name The name of the MAMA resource pool in configuration

Creates a MAMA resource pool to manage subscription lifecycles on behalf of the application calling it.

function destroy

inline synchronized void destroy()

Destroys a MAMA resource pool and all subscriptions, transports etc that were created using it.

function createSubscriptionFromUri

inline synchronized MamaSubscription createSubscriptionFromUri(
    final String uri,
    final MamaSubscriptionCallback callbacks,
    final Object closure
)

Parameters:

  • uri A url string in “bridge://transport/source/topic?param=1” format
  • callbacks A list of mama message callbacks to invoke during the subscription’s life cycle
  • closure An opaque object to point to your callbacks

Return: A pointer to a mama subscription object, or NULL on failure

Creates a MAMA Subscription using the given uri which is expected to be a null terminated string in “bridge://transport/source/topic?param=1” format.

function createSubscriptionFromComponents

inline synchronized MamaSubscription createSubscriptionFromComponents(
    final String transportName,
    final String sourceName,
    final String topicName,
    final MamaSubscriptionCallback callbacks,
    final Object closure
)

Parameters:

  • transportName The name of the transport to use. If it has not yet been used, it will be created in the process here.
  • sourceName The name of the source to use. If it has not yet been used, it will be created in the process here.
  • topicName The name of the source to use. If it has not yet been used, it will be created in the process here.
  • callbacks A list of mama message callbacks to invoke during the subscription’s life cycle
  • closure An opaque object to point to your callbacks

Return: A pointer to a mama subscription object, or NULL on failure

Creates a MAMA Subscription using the given components which are referenced by name.

function createSubscriptionFromTopicWithSource

inline synchronized MamaSubscription createSubscriptionFromTopicWithSource(
    final String sourceName,
    final String topicName,
    final MamaSubscriptionCallback callbacks,
    final Object closure
)

Parameters:

  • sourceName The name of the source to use. If it has not yet been used, it will be created in the process here.
  • topicName The name of the source to use. If it has not yet been used, it will be created in the process here.
  • callbacks A list of mama message callbacks to invoke during the subscription’s life cycle
  • closure An opaque object to point to your callbacks

Return: A pointer to a mama subscription object, or NULL on failure

Creates a MAMA Subscription using the given topic and source and the default resource pool’s subscribing transport (default_transport_sub).

function createSubscriptionFromTopic

inline synchronized MamaSubscription createSubscriptionFromTopic(
    final String topicName,
    final MamaSubscriptionCallback callbacks,
    final Object closure
)

Parameters:

  • topicName The name of the source to use. If it has not yet been used, it will be created in the process here.
  • callbacks A list of mama message callbacks to invoke during the subscription’s life cycle
  • closure An opaque object to point to your callbacks

Return: A pointer to a mama subscription object, or NULL on failure

Creates a MAMA Subscription using the given topic the default resource pool’s subscribing source (default_source_sub).

function createTransportFromName

inline synchronized MamaTransport createTransportFromName(
    final String transportName
)

Parameters:

  • topicName The name of the source to use. If it has not yet been used, it will be created in the process here.
  • callbacks A list of mama message callbacks to invoke during the subscription’s life cycle
  • closure An opaque object to point to your callbacks

Return: A pointer to a mama subscription object, or NULL on failure

Creates a MAMA Subscription using the given topic the default resource pool’s subscribing source (default_source_sub).

function destroySubscription

inline synchronized void destroySubscription(
    final MamaSubscription subscription
)

Parameters:

  • subscription The subscription to destroy

Destroys the given subscription and removes it from the resource pool asynchronously. There may be further callbacks after calling this function since this event is enqueued on the subscription’s thread, so for any closure related shutdown code, cleanup should be performed in the subscription’s onDestroy callback.


Updated on 2023-03-31 at 15:29:43 +0100