colmugx/acp/connection does not have a README file
pub struct RuntimeOutboundChannel[C] {
// private fields
}async fn[C] RuntimeOutboundChannel::submit_notification(self : RuntimeOutboundChannel[C], method_name~ : String, params~ : Json) -> Unitfn[C] RuntimeOutboundChannel::submit_notification_sync(self : RuntimeOutboundChannel[C], method_name~ : String, params~ : Json) -> Result[Unit, RuntimeError]async fn[C] RuntimeOutboundChannel::submit_request(self : RuntimeOutboundChannel[C], method_name~ : String, params~ : Json) -> JsonRpcResponsepub struct RuntimeOwner[S, I] {
state : S
tasks : Array[RuntimeOwnerTask[I]]
next_task_token : Int
closed : Bool
}pub(all) enum RuntimeOwnerCancelResult[S, I, C] {
RuntimeOwnerCancelRequested(owner~ : RuntimeOwner[S, I], task~ : RuntimeOwnerTask[I], event~ : RuntimeOwnerEvent[C])
RuntimeOwnerCancelIgnored(reason~ : RuntimeOwnerIgnore)
}pub(all) enum RuntimeOwnerCloseResult[S, I] {
RuntimeOwnerClosed(owner~ : RuntimeOwner[S, I], aborted~ : Array[RuntimeOwnerTask[I]])
RuntimeOwnerAlreadyClosed(owner~ : RuntimeOwner[S, I])
}pub(all) enum RuntimeOwnerCommand {
RuntimeOwnerWriteNotification(notification~ : JsonRpcNotification)
RuntimeOwnerCancelInbound(request_id~ : RequestId)
RuntimeOwnerTrace(method_name~ : String)
RuntimeOwnerClose(reason~ : String)
} derive(Eq, Debug)pub(all) enum RuntimeOwnerCompletionResult[S, I, O] {
RuntimeOwnerCompletionApplied(owner~ : RuntimeOwner[S, I], completion~ : O)
RuntimeOwnerCompletionIgnored(reason~ : RuntimeOwnerIgnore)
}pub(all) enum RuntimeOwnerEffect[E] {
WireNotification(notification~ : JsonRpcNotification)
Local(effect~ : E)
} derive(Eq, Debug)pub(all) enum RuntimeOwnerEvent[C] {
RuntimeOwnerRequestCompleted(token~ : Int, id~ : RequestId, completion~ : C)
RuntimeOwnerNotificationCompleted(token~ : Int, completion~ : C)
}pub(all) enum RuntimeOwnerLocalPlan {
RuntimeOwnerNoCommands
RuntimeOwnerCommands(Array[RuntimeOwnerCommand])
} derive(Eq, Debug)pub(all) enum RuntimeOwnerNotificationAction[S, I, E] {
RuntimeOwnerNotificationImmediate(completion~ : RuntimeOwnerNotificationCompletion[S, E])
RuntimeOwnerNotificationInvoke(task~ : RuntimeOwnerTask[I])
}pub(all) enum RuntimeOwnerNotificationAdmission[S, I, E] {
RuntimeOwnerNotificationImmediate(completion~ : RuntimeOwnerNotificationCompletion[S, E])
RuntimeOwnerNotificationInvoke(state~ : S, invocation~ : I)
}pub(all) struct RuntimeOwnerNotificationCompletion[S, E] {
state : S
effects : Array[RuntimeOwnerEffect[E]]
}pub(all) struct RuntimeOwnerPort[S, I, C, E] {
initial_state : S
admit_request : (S, RequestId, JsonRpcRequest) -> RuntimeOwnerRequestAdmission[S, I, E]
admit_notification : (S, JsonRpcNotification) -> RuntimeOwnerNotificationAdmission[S, I, E]
execute : async (I) -> C
execute_failure : (S, I) -> C
execute_cancel : (S, I) -> C
complete_request : (S, RequestId, I, C) -> RuntimeOwnerRequestCompletion[S, E]
complete_notification : (S, I, C) -> RuntimeOwnerNotificationCompletion[S, E]
plan_local_effect : (E) -> RuntimeOwnerLocalPlan
cancel_request : (S, RequestId, I) -> (S, C)
abort : (S, RuntimeOwnerTask[I]) -> S
}pub(all) enum RuntimeOwnerRequestAction[S, I, E] {
RuntimeOwnerImmediate(completion~ : RuntimeOwnerRequestCompletion[S, E])
RuntimeOwnerInvoke(task~ : RuntimeOwnerTask[I])
}pub(all) enum RuntimeOwnerRequestAdmission[S, I, E] {
RuntimeOwnerRequestImmediate(completion~ : RuntimeOwnerRequestCompletion[S, E])
RuntimeOwnerRequestInvoke(state~ : S, invocation~ : I)
}pub(all) struct RuntimeOwnerRequestCompletion[S, E] {
state : S
response : RuntimeHandlerResult
effects : Array[RuntimeOwnerEffect[E]]
}pub struct RuntimeOwnerTask[I] {
task_token : Int
request_id : RequestId?
invocation : I
notification : Bool
cancel_requested : Bool
}async fn[S, I, C, E] connection_runtime_run_owner(ports : RuntimePorts, options : RuntimeOptions, owner_port : RuntimeOwnerPort[S, I, C, E]) -> Unitasync fn[S, I, C, E] connection_runtime_run_owner_with_outbound(ports : RuntimePorts, options : RuntimeOptions, channel_factory : (RuntimeOutboundChannel[C]) -> RuntimeOwnerPort[S, I, C, E]) -> Unitfn[S, I, C, E] runtime_owner_admit_notification(owner : RuntimeOwner[S, I], notification : JsonRpcNotification, port : RuntimeOwnerPort[S, I, C, E]) -> (RuntimeOwner[S, I], RuntimeOwnerNotificationAction[S, I, E]) raise RuntimeOwnerErrorfn[S, I, C, E] runtime_owner_admit_request(owner : RuntimeOwner[S, I], request : JsonRpcRequest, port : RuntimeOwnerPort[S, I, C, E]) -> (RuntimeOwner[S, I], RuntimeOwnerRequestAction[S, I, E]) raise RuntimeOwnerErrorfn[S, I, C, E] runtime_owner_cancel_request(owner : RuntimeOwner[S, I], id : RequestId, port : RuntimeOwnerPort[S, I, C, E]) -> RuntimeOwnerCancelResult[S, I, C]fn[S, I, C, E] runtime_owner_close(owner : RuntimeOwner[S, I], port : RuntimeOwnerPort[S, I, C, E]) -> RuntimeOwnerCloseResult[S, I]fn[S, I, C, E] runtime_owner_complete_notification(owner : RuntimeOwner[S, I], event : RuntimeOwnerEvent[C], port : RuntimeOwnerPort[S, I, C, E]) -> RuntimeOwnerCompletionResult[S, I, RuntimeOwnerNotificationCompletion[S, E]]fn[S, I, C, E] runtime_owner_complete_request(owner : RuntimeOwner[S, I], event : RuntimeOwnerEvent[C], port : RuntimeOwnerPort[S, I, C, E]) -> RuntimeOwnerCompletionResult[S, I, RuntimeOwnerRequestCompletion[S, E]]async fn[S, I, C, E] runtime_owner_execute(task : RuntimeOwnerTask[I], port : RuntimeOwnerPort[S, I, C, E]) -> RuntimeOwnerEvent[C]fn[E] runtime_owner_plan_effects(effects : Array[RuntimeOwnerEffect[E]], plan_local_effect : (E) -> RuntimeOwnerLocalPlan) -> Array[RuntimeOwnerCommand]fn[G, S, I, C, E] runtime_owner_spawn(group : TaskGroup[G], task : RuntimeOwnerTask[I], port : RuntimeOwnerPort[S, I, C, E]) -> Task[RuntimeOwnerEvent[C]]Dependencies