pub fn dispatch_generic_frame(
frame: &Frame,
authenticated: bool,
session: ParticipantSession,
context: ParticipantConnectionContext,
conversations: &mut ParticipantConnectionConversations,
handler: &dyn ParticipantSemanticHandler,
) -> ParticipantDispatchExpand description
Gates, decodes, semantically applies, and encodes one participant frame.
Transport rejection values originate in liminal-protocol; semantic values
originate only in handler. No lifecycle outcome is constructed here.