You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RPC can be built as a client side concept entirely to greatly simplify the runtime.
send_message can be removed from AgentRuntime
BaseAgent.send_message should be renamed to send_rpc - its semantics remain identical
Remove RPC code from runtime impl, protos, etc
Procedure for an RPC is as follows:
Request ID (a uuid) is generated as request_id
Topic ID to be sent to is generated as recipient_agent_id.type and potentially some extra distinguishing info request_topic_id
Topic ID to be received from is generated as a well known format that contains the recipient_agent_id.type and request_id as response_topic_id
An empty Future is generated
Explicit subscription is generated for topic_id which does two things: sets the future to the received message, removes the subscription
Event is published to request_topic_id with request_id
Future is returned from the function for the consumer to await
Note:
I think we should potentially make the per agent implicit rpc subscription a bit more specific to avoid surprising behavior of agents receiving publishes without manually adding a subscription
The text was updated successfully, but these errors were encountered:
RPC can be built as a client side concept entirely to greatly simplify the runtime.
send_message
can be removed fromAgentRuntime
BaseAgent.send_message
should be renamed tosend_rpc
- its semantics remain identicalProcedure for an RPC is as follows:
request_id
recipient_agent_id.type
and potentially some extra distinguishing inforequest_topic_id
recipient_agent_id.type
andrequest_id
asresponse_topic_id
topic_id
which does two things: sets the future to the received message, removes the subscriptionrequest_topic_id
withrequest_id
Note:
The text was updated successfully, but these errors were encountered: