Skip to main content

Crate aion_proto

Crate aion_proto 

Source
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-core values. 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. WireError taxonomy 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.