Trait mz_persist_client::rpc::PubSubSender
source · pub trait PubSubSender:
Debug
+ Send
+ Sync {
// Required methods
fn push_diff(&self, shard_id: &ShardId, diff: &VersionedData);
fn subscribe(
self: Arc<Self>,
shard_id: &ShardId,
) -> Arc<ShardSubscriptionToken>;
}
Expand description
The public send-side client to Persist PubSub.
Required Methods§
sourcefn push_diff(&self, shard_id: &ShardId, diff: &VersionedData)
fn push_diff(&self, shard_id: &ShardId, diff: &VersionedData)
Push a diff to subscribers.
sourcefn subscribe(self: Arc<Self>, shard_id: &ShardId) -> Arc<ShardSubscriptionToken>
fn subscribe(self: Arc<Self>, shard_id: &ShardId) -> Arc<ShardSubscriptionToken>
Subscribe the corresponding PubSubReceiver to diffs for the given shard.
Returns a token that, when dropped, will unsubscribe the client from the shard.
If the client is already subscribed to the shard, repeated calls will make
no further calls to the server and instead return clones of the Arc<ShardSubscriptionToken>
.