// Copyright 2026 Leo Cheng
// SPDX-License-Identifier: Apache-2.0
// The façade: every subpackage's public surface re-exported as it was, so
// `@moonrpc.X` is still the X it was before the split. A program that wants only
// one layer imports that subpackage and links nothing else. Enum constructors
// do not travel through `pub using`, so a match on one names its subpackage:
// `@wire.Status::Ok`, not `@moonrpc.Status::Ok`.
///|
pub using @wire {
type Keepalive,
type Method,
type Status,
decode_message,
default_max_frame_size,
default_window_size,
encode_message,
is_binary_metadata,
max_header_list_size,
max_message_size,
message_len,
metadata_value_from_wire,
metadata_value_to_wire,
split_messages,
}
///|
pub using @proto {
type FieldDescriptor,
type FieldLabel,
type FieldType,
type FileDescriptor,
type MessageDescriptor,
type MethodDescriptor,
type PbError,
type PbReader,
type PbWriter,
type ServiceDescriptor,
type WireType,
decode_file_descriptor_set,
encode_file_descriptor_set,
}
///|
pub using @stream {
type BidiHandler,
type Handler,
type RpcContext,
type Stream,
type StreamError,
type StreamEvent,
type StreamState,
parse_grpc_timeout,
stream_id_valid_for_initiator,
stream_is_client_initiated,
stream_is_server_initiated,
}
///|
pub using @balance {
type ConnectionPool,
type ConnectivityState,
type DnsRecord,
type DnsResponse,
type HedgingPolicy,
type LbPolicy,
type LoadBalancer,
type RetryPolicy,
type SubConn,
dns_decode_response,
dns_encode_query,
dns_type_a,
dns_type_aaaa,
}
///|
pub using @client {
type CallReply,
type ClientCall,
type H2Client,
encode_grpc_timeout,
percent_decode,
}
///|
pub using @server {
type H2Server,
type SrvStream,
type StreamInterceptor,
type UnaryInterceptor,
default_max_streams,
}
///|
pub using @service {
type HealthService,
type ReflectionRequest,
type ReflectionResponse,
type ReflectionService,
type ServingStatus,
decode_health_request,
decode_health_response,
decode_reflection_request,
decode_reflection_response,
encode_health_request,
encode_health_response,
encode_reflection_request,
health_check_path,
health_watch_path,
reflection_v1_path,
reflection_v1alpha_path,
}