pub fn reply(
ctx: &ServiceContext,
reply_cap: Cap,
msg: &Message,
) -> Result<(), Error>Expand description
Answer a request on the reply capability its client sent, then give that capability back.
Both halves, every time, which is why this is one call. A reply capability is ONE-SHOT and occupies a slot in this task’s table until it is removed: answered and kept, it leaks a slot per request until the table is full and the service can no longer receive one (CLAUDE.md 8.5). Non-blocking, because a client that stopped waiting must never stall the server that answers it; the result says whether the answer was queued, and either way the capability is gone afterwards.