Expand description
Shared gRPC and serde wire contracts for Aion servers, clients, and workers.
This crate mirrors core domain values into transport-safe protobuf and JSON
shapes, provides conversion helpers, and optionally exposes generated tonic
service definitions behind the generated feature.
§Example
use aion_core::WorkflowId;
use aion_proto::{decode_core_value, encode_core_value};
let id = WorkflowId::new_v4();
let envelope = encode_core_value("default", Some("request-1".to_owned()), &id)?;
let decoded: WorkflowId = decode_core_value(&envelope)?;
assert_eq!(decoded, id);Re-exports§
pub use convert::ProtoActivityId;pub use convert::ProtoPayload;pub use convert::ProtoRunId;pub use convert::ProtoScheduleId;pub use convert::ProtoTimerId;pub use convert::ProtoWorkflowId;pub use convert::ProtoWorkflowStatus;pub use convert::WireEnvelope;pub use convert::decode_core_value;pub use convert::decode_event;pub use convert::decode_schedule_config;pub use convert::decode_schedule_state;pub use convert::decode_workflow_filter;pub use convert::decode_workflow_summary;pub use convert::encode_core_value;pub use convert::encode_event;pub use convert::encode_schedule_config;pub use convert::encode_schedule_state;pub use convert::encode_workflow_filter;pub use convert::encode_workflow_summary;pub use deploy::ProtoListVersionsRequest;pub use deploy::ProtoListVersionsResponse;pub use deploy::ProtoLoadPackageRequest;pub use deploy::ProtoLoadPackageResponse;pub use deploy::ProtoRouteVersionRequest;pub use deploy::ProtoRouteVersionResponse;pub use deploy::ProtoUnloadVersionRequest;pub use deploy::ProtoUnloadVersionResponse;pub use deploy::ProtoWorkflowVersion;pub use error::ProtoWireError;pub use error::ProtoWireErrorCode;pub use error::WireError;pub use error::WireErrorCode;pub use events::FilteredSubscription;pub use events::FirehoseSubscription;pub use events::PerWorkflowSubscription;pub use events::StreamedEvent;pub use events::SubscriptionRequest;pub use events::encode_streamed_event;pub use events::subscription_request;pub use schedule::ProtoCreateScheduleRequest;pub use schedule::ProtoCreateScheduleResponse;pub use schedule::ProtoDeleteScheduleResponse;pub use schedule::ProtoDescribeScheduleResponse;pub use schedule::ProtoListSchedulesRequest;pub use schedule::ProtoListSchedulesResponse;pub use schedule::ProtoPauseScheduleResponse;pub use schedule::ProtoResumeScheduleResponse;pub use schedule::ProtoScheduleIdRequest;pub use schedule::ProtoUpdateScheduleRequest;pub use schedule::ProtoUpdateScheduleResponse;pub use worker::ProtoActivityError;pub use worker::ProtoActivityErrorKind;pub use worker::ProtoActivityResult;pub use worker::ProtoActivityTask;pub use worker::ProtoDrainRequest;pub use worker::ProtoHeartbeat;pub use worker::ProtoRegisterAck;pub use worker::ProtoRegisterWorker;pub use worker::ProtoResultAck;pub use worker::proto_activity_result;pub use workflow::ProtoCancelRequest;pub use workflow::ProtoCancelResponse;pub use workflow::ProtoCountWorkflowsRequest;pub use workflow::ProtoCountWorkflowsResponse;pub use workflow::ProtoDescribeWorkflowRequest;pub use workflow::ProtoDescribeWorkflowResponse;pub use workflow::ProtoListWorkflowsRequest;pub use workflow::ProtoListWorkflowsResponse;pub use workflow::ProtoQueryRequest;pub use workflow::ProtoQueryResponse;pub use workflow::ProtoSignalRequest;pub use workflow::ProtoSignalResponse;pub use workflow::ProtoStartWorkflowRequest;pub use workflow::ProtoStartWorkflowResponse;pub use workflow::proto_query_response;
Modules§
- convert
- Conversion helpers between wire structures and
aion-corevalues. proto <-> aion-core conversions - deploy
- Operator deploy API wire contracts. Operator deploy API serde/prost wire types.
- error
- Wire-level error types and protobuf-friendly error payloads.
WireErrortaxonomy and mapping. - events
- Event-stream subscription and streamed-event contracts. Event-streaming wire types.
- schedule
- Schedule management wire contracts. Schedule-management serde/prost wire types.
- worker
- Remote-worker protocol wire contracts. Worker protocol serde/prost wire types.
- workflow
- Workflow operation wire contracts. Workflow-management serde/prost wire types.