nsmcp::QuestionService method cancel (public)
<instance of nsmcp::QuestionService> cancel context handle
Defined in /usr/local/ns/tcl/nsmcp/question-service.tcl
Cancel the active turn of an owned conversation. Update queued or running state under the mutex so subsequent callbacks observe cancellation.
- Parameters:
- context (required)
- Authenticated request context carrying the principal, grants and selected server.
- handle (required)
- Retained job or conversation handle; ownership and expiry checks still apply.
- Returns:
- The cancellation/conversation result.
- Testcases:
- No testcase defined.
Source code: ns_mutex lock ${:mutex} try { set record [:owned $context $handle] if {[dict get $record status] eq "queued"} { dict set record status cancelled set last [lindex [dict get $record turns] end] dict set last status cancelled dict set record turns [lreplace [dict get $record turns] end end $last] nsv_set ${:store} $handle $record } elseif {[dict get $record status] eq "running"} { dict set record status cancelling nsv_set ${:store} $handle $record } } finally { ns_mutex unlock ${:mutex} } return [:poll $context $handle]XQL Not present: Generic, PostgreSQL, Oracle
![[i]](/resources/acs-subsite/ZoomIn16.gif)