#![cfg_attr(not(feature = "std"), no_std)]
#![deny(unsafe_code)]
#![warn(missing_docs)]
#![allow(clippy::missing_errors_doc)]
extern crate alloc;
pub mod annotations;
pub mod codegen;
pub mod common_types;
pub mod discovery_ext;
pub mod endpoint;
pub mod error;
pub mod evolution_rules;
pub mod function_call;
#[cfg(feature = "std")]
pub mod qos_profile;
#[cfg(feature = "std")]
pub mod replier;
pub mod request_identity;
#[cfg(feature = "std")]
pub mod requester;
pub mod rpc_hash;
pub mod service_mapping;
pub mod topic_naming;
pub mod wire_codec;
pub use annotations::{LoweredRpc, RpcAnnotation, lower_rpc_annotations};
pub use codegen::{
CallUnionCase, CallUnionDef, MemberType, MethodPair, ReplyType, RequestType, ServiceLayout,
StructMember, build_basic_pair, build_enhanced_all, build_enhanced_pair,
};
pub use common_types::{
MAX_HEADER_BYTES, MAX_STRING_LEN, RemoteExceptionCode, ReplyHeader, RequestHeader,
SampleIdentity,
};
pub use discovery_ext::{
PublicationBuiltinTopicDataExt, ServiceMappingProfile, SubscriptionBuiltinTopicDataExt,
client_matches_service, service_matches_client,
};
pub use endpoint::{ReplierEndpoint, RequesterEndpoint, RpcEndpointBuilder};
pub use error::{RpcError, RpcResult};
pub use evolution_rules::{Evolution, Mapping, compatible_evolutions, is_compatible};
pub use function_call::{
FunctionSkeleton, FunctionStub, OperationDescriptor, ServiceDescriptor, dispatch_request,
};
pub use request_identity::RequestIdentity;
pub use rpc_hash::rpc_member_hash;
pub use service_mapping::{
MethodDef, ParamDef, ParamDirection, ServiceDef, TypeRef, lower_service,
};
pub use topic_naming::{
REPLY_SUFFIX, REQUEST_SUFFIX, ServiceTopicNames, reply_topic_name, request_topic_name,
validate_service_name,
};
#[cfg(test)]
mod tests {
#[test]
fn crate_compiles() {
}
}