pub struct HandlerDescriptor {
pub topic_name: &'static str,
pub subscription_name: &'static str,
pub registry_key: &'static str,
pub invoke: HandlerInvoker,
pub consumer_group: Option<&'static str>,
pub group_shard_count: Option<u32>,
}Expand description
Descriptor for a #[photon::subscribe] handler (inventory + executor dispatch).
Fields§
§topic_name: &'static strTopic this handler listens on.
subscription_name: &'static strDurable subscription name for broadcast handlers (empty for group handlers).
registry_key: &'static strStable registry key ({topic}:{subscription} or {topic}:group:{group}).
invoke: HandlerInvokerAsync dispatch entry point generated by the proc macro.
consumer_group: Option<&'static str>Consumer group id when load-balanced (mutually exclusive with durable name).
group_shard_count: Option<u32>Override virtual shard count for group handlers.
Implementations§
Source§impl HandlerDescriptor
impl HandlerDescriptor
Sourcepub const fn new(
topic_name: &'static str,
subscription_name: &'static str,
registry_key: &'static str,
invoke: HandlerInvoker,
) -> Self
pub const fn new( topic_name: &'static str, subscription_name: &'static str, registry_key: &'static str, invoke: HandlerInvoker, ) -> Self
Create a broadcast handler descriptor for inventory submission.
Sourcepub const fn new_group(
topic_name: &'static str,
consumer_group: &'static str,
group_shard_count: Option<u32>,
registry_key: &'static str,
invoke: HandlerInvoker,
) -> Self
pub const fn new_group( topic_name: &'static str, consumer_group: &'static str, group_shard_count: Option<u32>, registry_key: &'static str, invoke: HandlerInvoker, ) -> Self
Create a consumer-group handler descriptor.
Sourcepub const fn is_consumer_group(&self) -> bool
pub const fn is_consumer_group(&self) -> bool
Whether this handler uses consumer-group delivery.
Trait Implementations§
Source§impl Clone for HandlerDescriptor
impl Clone for HandlerDescriptor
Source§fn clone(&self) -> HandlerDescriptor
fn clone(&self) -> HandlerDescriptor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Collect for HandlerDescriptor
impl Copy for HandlerDescriptor
Source§impl Registrable for HandlerDescriptor
impl Registrable for HandlerDescriptor
Source§fn registry_key(&self) -> &str
fn registry_key(&self) -> &str
Return the unique lookup key used by the registry.
Auto Trait Implementations§
impl Freeze for HandlerDescriptor
impl RefUnwindSafe for HandlerDescriptor
impl Send for HandlerDescriptor
impl Sync for HandlerDescriptor
impl Unpin for HandlerDescriptor
impl UnsafeUnpin for HandlerDescriptor
impl UnwindSafe for HandlerDescriptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more