enum Code
Source: grpc.joule:21
enum CodeSource: grpc.joule:21
fn from_i32(code: i32) -> SelfSource: grpc.joule:59
fn description(&self) -> &'static strSource: grpc.joule:82
struct StatusSource: grpc.joule:107
fn ok() -> SelfSource: grpc.joule:114
fn new(code: Code, message: impl Into<String>) -> SelfSource: grpc.joule:122
fn with_details(mut self, details: Vec<u8>) -> SelfSource: grpc.joule:130
fn is_ok(&self) -> boolSource: grpc.joule:135
fn cancelled(message: impl Into<String>) -> SelfSource: grpc.joule:139
fn invalid_argument(message: impl Into<String>) -> SelfSource: grpc.joule:143
fn not_found(message: impl Into<String>) -> SelfSource: grpc.joule:147
fn internal(message: impl Into<String>) -> SelfSource: grpc.joule:151
fn unimplemented(message: impl Into<String>) -> SelfSource: grpc.joule:155
fn unavailable(message: impl Into<String>) -> SelfSource: grpc.joule:159
struct MetadataSource: grpc.joule:170
enum MetadataValueSource: grpc.joule:176
fn new() -> SelfSource: grpc.joule:182
fn insert(&mut self, key: &str, value: &str)Add text metadata
Source: grpc.joule:189
fn insert_bin(&mut self, key: &str, value: Vec<u8>)Add binary metadata (key must end with -bin)
Source: grpc.joule:198
fn get(&self, key: &str) -> Option<&str>Get first text value
Source: grpc.joule:210
fn get_bin(&self, key: &str) -> Option<&[u8]>Get first binary value
Source: grpc.joule:220
fn get_all(&self, key: &str) -> Option<&[MetadataValue]>Get all values for a key
Source: grpc.joule:230
fn contains(&self, key: &str) -> boolCheck if key exists
Source: grpc.joule:235
fn remove(&mut self, key: &str) -> Option<Vec<MetadataValue>>Remove a key
Source: grpc.joule:240
fn iter(&self) -> impl Iterator<Item = (&String, &Vec<MetadataValue>)>Iterate over entries
Source: grpc.joule:245
fn to_headers(&self) -> HeadersConvert to HTTP/2 headers
Source: grpc.joule:250
fn from_headers(headers: &Headers) -> SelfParse from HTTP/2 headers
Source: grpc.joule:269
trait Message: SizedMessage trait for gRPC messages
Source: grpc.joule:293
fn encode(&self) -> Vec<u8>;Encode to bytes
Source: grpc.joule:295
fn decode(data: &[u8]) -> Result<Self, DecodeError>;Decode from bytes
Source: grpc.joule:298
fn name() -> &'static str;Get message name
Source: grpc.joule:301
enum DecodeErrorSource: grpc.joule:306
fn encode_message(data: &[u8], compressed: bool) -> Vec<u8>Encode message with length prefix (gRPC framing)
Source: grpc.joule:313
fn decode_message(data: &[u8]) -> Result<(bool, Vec<u8>), GrpcError>Decode length-prefixed message
Source: grpc.joule:330
struct ChannelgRPC channel (connection to server)
Source: grpc.joule:350
fn new(target: &str) -> SelfCreate channel to target address
Source: grpc.joule:359
fn timeout(mut self, timeout: Duration) -> SelfSet timeout
Source: grpc.joule:371
fn plaintext(mut self) -> SelfDisable TLS
Source: grpc.joule:377
fn intercept<I: Interceptor + 'static>(mut self, interceptor: I) -> SelfAdd interceptor
Source: grpc.joule:383
trait Interceptor: Send + SyncClient interceptor trait
Source: grpc.joule:390
fn intercept(&self, request: &mut Request<Vec<u8>>);Source: grpc.joule:391
struct RequestgRPC request
Source: grpc.joule:395
fn new(message: T) -> SelfSource: grpc.joule:402
fn metadata_mut(&mut self) -> &mut MetadataSource: grpc.joule:410
fn set_timeout(&mut self, timeout: Duration)Source: grpc.joule:414
struct ResponsegRPC response
Source: grpc.joule:420
fn new(message: T) -> SelfSource: grpc.joule:428
struct GrpcClientgRPC client for making RPC calls
Source: grpc.joule:439
fn new(channel: Channel) -> SelfCreate client from channel
Source: grpc.joule:445
fn unary<Req: Message, Res: Message>(Source: grpc.joule:451
fn server_streaming<Req: Message, Res: Message>(Source: grpc.joule:482
fn client_streaming<Req: Message, Res: Message>(Source: grpc.joule:497
fn bidirectional<Req: Message, Res: Message>(Source: grpc.joule:515
fn connect(&self) -> Result<Connection, GrpcError>Source: grpc.joule:527
fn send_request(Source: grpc.joule:540
fn send_headers(Source: grpc.joule:558
fn recv_response(&self, conn: &mut Connection) -> Result<(Metadata, Vec<u8>), GrpcError>Source: grpc.joule:569
enum ConnectionConnection wrapper
Source: grpc.joule:582
fn write_all(&mut self, data: &[u8]) -> Result<(), std::io::Error>Source: grpc.joule:588
fn read(&mut self, buf: &mut [u8]) -> Result<usize, std::io::Error>Source: grpc.joule:595
fn try_clone(&self) -> Result<Self, GrpcError>Source: grpc.joule:602
struct StreamingServer streaming response
Source: grpc.joule:615
fn new(conn: Connection) -> SelfSource: grpc.joule:622
fn message(&mut self) -> Result<Option<T>, GrpcError>Source: grpc.joule:632
fn trailers(&self) -> MetadataGet trailing metadata
Source: grpc.joule:652
fn next(&mut self) -> Option<Self::Item>Source: grpc.joule:660
struct ClientStreamClient streaming sender
Source: grpc.joule:670
fn new(conn: Connection) -> SelfSource: grpc.joule:676
fn send(&mut self, message: T) -> Result<(), GrpcError>Source: grpc.joule:685
fn finish(mut self) -> Result<(), GrpcError>Source: grpc.joule:694
struct ResponseFutureFuture for receiving response after client streaming
Source: grpc.joule:703
fn new(conn: Connection) -> SelfSource: grpc.joule:709
fn await_response(mut self) -> Result<Response<T>, GrpcError>Source: grpc.joule:718
struct BidiStreamBidirectional streaming
Source: grpc.joule:736
fn new(conn: Connection) -> SelfSource: grpc.joule:743
fn send(&mut self, message: Req) -> Result<(), GrpcError>Source: grpc.joule:753
fn recv(&mut self) -> Result<Option<Res>, GrpcError>Source: grpc.joule:762
fn close_send(&mut self) -> Result<(), GrpcError>Source: grpc.joule:778
struct ServergRPC server
Source: grpc.joule:790
fn bind(addr: &str) -> Result<Self, GrpcError>Source: grpc.joule:798
fn add_service<S: ServiceHandler + 'static>(mut self, service: S) -> SelfRegister a service
Source: grpc.joule:808
fn serve(self) -> Result<(), GrpcError>Source: grpc.joule:816
fn handle_connection(&self, mut stream: TcpStream) -> Result<(), GrpcError>Source: grpc.joule:829
trait ServiceHandler: Send + SyncService handler trait
Source: grpc.joule:868
fn name(&self) -> &str;Service name (e.g., "helloworld.Greeter")
Source: grpc.joule:870
fn call(&self, method: &str, request: &[u8], metadata: &Metadata) -> Result<Vec<u8>, GrpcError>;Handle method call
Source: grpc.joule:873
fn build_request_headers(path: &str, metadata: &Metadata, content_length: usize) -> Vec<u8>Source: grpc.joule:908
fn build_response_headers(status: u16) -> Vec<u8>Source: grpc.joule:929
fn build_data_frame(data: &[u8], end_stream: bool) -> Vec<u8>Source: grpc.joule:941
fn parse_response(data: &[u8]) -> Result<(Metadata, Vec<u8>), GrpcError>Source: grpc.joule:965
fn parse_request(data: &[u8]) -> Result<(String, Metadata, Vec<u8>), GrpcError>Source: grpc.joule:984
fn parse_target(target: &str) -> Result<SocketAddr, GrpcError>Source: grpc.joule:1009
enum CompressionSource: grpc.joule:1024
fn from_str(s: &str) -> Option<Self>Source: grpc.joule:1033
fn as_str(&self) -> &strSource: grpc.joule:1044
fn base64_encode(data: &[u8]) -> StringSource: grpc.joule:1059
const CHARS: &[u8]Source: grpc.joule:1060
fn base64_decode(data: &str) -> Option<Vec<u8>>Source: grpc.joule:1087
const DECODE: [i8; 128]Source: grpc.joule:1088
enum GrpcErrorSource: grpc.joule:1135
fn from(e: std::io::Error) -> SelfSource: grpc.joule:1148
fn from(e: super::tcp::TcpError) -> SelfSource: grpc.joule:1154
fn test_status_codes()Source: grpc.joule:1168
fn test_metadata()Source: grpc.joule:1175
fn test_message_encoding()Source: grpc.joule:1185
fn test_base64()Source: grpc.joule:1198
fn test_compression_names()Source: grpc.joule:1207