IceStorm.Topic

class IceStorm.Topic

Bases: Object, ABC

Represents an IceStorm topic. Publishers publish data to a topic (via the topic’s publisher object), and subscribers subscribe to a topic.

Notes

The Slice compiler generated this skeleton class from Slice interface ::IceStorm::Topic.

abstractmethod destroy(current: Current) None | Awaitable[None]

Destroys this topic.

Parameters:

current (Ice.Current) – The Current object for the dispatch.

Returns:

None or an awaitable that completes when the dispatch completes.

Return type:

None | Awaitable[None]

abstractmethod getLinkInfoSeq(current: Current) Sequence[LinkInfo] | Awaitable[Sequence[LinkInfo]]

Gets information on the current links.

Parameters:

current (Ice.Current) – The Current object for the dispatch.

Returns:

A sequence of LinkInfo objects.

Return type:

Sequence[LinkInfo] | Awaitable[Sequence[LinkInfo]]

abstractmethod getName(current: Current) str | Awaitable[str]

Gets the name of this topic.

Parameters:

current (Ice.Current) – The Current object for the dispatch.

Returns:

The name of the topic.

Return type:

str | Awaitable[str]

abstractmethod getNonReplicatedPublisher(current: Current) ObjectPrx | None | Awaitable[ObjectPrx | None]

Gets a non-replicated proxy to a publisher object for this topic. To publish data to a topic, a publisher calls this operation and then creates a proxy with the publisher type from this proxy.

Parameters:

current (Ice.Current) – The Current object for the dispatch.

Returns:

A proxy to publish data on this topic. This proxy is never null.

Return type:

ObjectPrx | None | Awaitable[ObjectPrx | None]

abstractmethod getPublisher(current: Current) ObjectPrx | None | Awaitable[ObjectPrx | None]

Gets a proxy to a publisher object for this topic. To publish data to a topic, a publisher calls this operation and then creates a proxy with the publisher type from this proxy. If a replicated IceStorm deployment is used, this call may return a replicated proxy.

Parameters:

current (Ice.Current) – The Current object for the dispatch.

Returns:

A proxy to publish data on this topic. This proxy is never null.

Return type:

ObjectPrx | None | Awaitable[ObjectPrx | None]

abstractmethod getSubscribers(current: Current) Sequence[Identity] | Awaitable[Sequence[Identity]]

Gets the list of subscribers for this topic.

Parameters:

current (Ice.Current) – The Current object for the dispatch.

Returns:

The sequence of Ice identities for the subscriber objects.

Return type:

Sequence[Identity] | Awaitable[Sequence[Identity]]

static ice_staticId() str

Obtain the type ID of the Slice interface.

Returns:

The type ID.

Return type:

str

Creates a link to another topic. All events originating on this topic will also be sent to the other topic.

Parameters:
  • linkTo (TopicPrx | None) – The topic to link to. This proxy cannot be null.

  • cost (int) – The cost of the link.

  • current (Ice.Current) – The Current object for the dispatch.

Returns:

None or an awaitable that completes when the dispatch completes.

Return type:

None | Awaitable[None]

Raises:

LinkExists – Thrown when a link to linkTo already exists.

abstractmethod subscribeAndGetPublisher(theQoS: dict[str, str], subscriber: ObjectPrx | None, current: Current) ObjectPrx | None | Awaitable[ObjectPrx | None]

Subscribes to this topic.

Parameters:
  • theQoS (dict[str, str]) – The quality of service parameters for this subscription.

  • subscriber (ObjectPrx | None) – The subscriber’s proxy. This proxy cannot be null.

  • current (Ice.Current) – The Current object for the dispatch.

Returns:

The per-subscriber publisher proxy. This proxy is never null.

Return type:

ObjectPrx | None | Awaitable[ObjectPrx | None]

Raises:
  • AlreadySubscribed – Thrown when subscriber is already subscribed.

  • BadQoS – Thrown when theQoS is unavailable or invalid.

Destroys a link from this topic to the provided topic.

Parameters:
  • linkTo (TopicPrx | None) – The topic to destroy the link to. This proxy cannot be null.

  • current (Ice.Current) – The Current object for the dispatch.

Returns:

None or an awaitable that completes when the dispatch completes.

Return type:

None | Awaitable[None]

Raises:

NoSuchLink – Thrown when a link to linkTo does not exist.

abstractmethod unsubscribe(subscriber: ObjectPrx | None, current: Current) None | Awaitable[None]

Unsubscribes the provided subscriber from this topic.

Parameters:
  • subscriber (ObjectPrx | None) – A proxy to an existing subscriber. This proxy is never null.

  • current (Ice.Current) – The Current object for the dispatch.

Returns:

None or an awaitable that completes when the dispatch completes.

Return type:

None | Awaitable[None]