- Types
- Modules
envoy_extension
-ABI
implemented byEnvoy Wasm extensions
proxy_on_start
proxy_validate_configuration
proxy_on_configure
proxy_on_tick
proxy_on_queue_ready
proxy_on_create
proxy_on_new_connection
proxy_on_downstream_data
proxy_on_upstream_data
proxy_on_downstream_connection_close
proxy_on_upstream_connection_close
proxy_on_request_headers
proxy_on_request_body
proxy_on_request_trailers
proxy_on_request_metadata
proxy_on_response_headers
proxy_on_response_body
proxy_on_response_trailers
proxy_on_response_metadata
proxy_on_done
proxy_on_log
proxy_on_delete
proxy_on_http_call_response
proxy_on_grpc_create_initial_metadata
proxy_on_grpc_receive_initial_metadata
proxy_on_grpc_trailing_metadata
proxy_on_grpc_receive
proxy_on_grpc_close
envoy
-ABI
implemented byEnvoy
itself (as a host of Wasm extensions)proxy_get_configuration
proxy_get_status
proxy_log
proxy_set_tick_period_milliseconds
proxy_get_current_time_nanoseconds
proxy_get_property
proxy_set_property
proxy_set_effective_context
proxy_done
proxy_define_metric
proxy_increment_metric
proxy_record_metric
proxy_get_metric
proxy_continue_request
proxy_continue_response
proxy_send_local_response
proxy_clear_route_cache
proxy_get_shared_data
proxy_set_shared_data
proxy_register_shared_queue
proxy_resolve_shared_queue
proxy_dequeue_shared_queue
proxy_enqueue_shared_queue
proxy_add_header_map_value
proxy_get_header_map_value
proxy_get_header_map_pairs
proxy_set_header_map_pairs
proxy_replace_header_map_value
proxy_remove_header_map_value
proxy_get_header_map_size
proxy_get_buffer_bytes
proxy_get_buffer_status
proxy_http_call
proxy_grpc_call
proxy_grpc_stream
proxy_grpc_cancel
proxy_grpc_close
proxy_grpc_send
Error codes returned by ABI functions.
Enum represented by u32
No error occurred. ABI call completed successfully.
The result could not be found, e.g. a provided key did not appear in a table.
An argument was bad, e.g. did not conform to the required range.
A protobuf could not be serialized.
A protobuf could not be parsed.
A provided expression (e.g. "foo.bar") was illegal or unrecognized.
A provided memory range was not legal.
Data was requested from an empty container.
The provided CAS did not match that of the stored data.
Returned result was unexpected, e.g. of the incorrect size.
Internal failure: trying check logs of the surrounding system.
The connection/stream/pipe was broken/closed unexpectedly.
Peer type.
Enum represented by u32
Unknown.
Local.
Remote.
Status codes returned by filters that can cause future filters to not get iterated to.
Enum represented by u32
Continue to further filters.
Stop executing further filters.
Return codes for encode/decode headers filter invocations. The connection manager bases further filter invocations on the return code of the previous filter.
Enum represented by u32
Continue filter chain iteration.
Do not iterate to any of the remaining filters in the chain. Returning FilterDataStatus::Continue from decodeData()/encodeData() or calling continueDecoding()/continueEncoding() MUST be called if continued filter iteration is desired.
Return codes for encode/decode data filter invocations. The connection manager bases further filter invocations on the return code of the previous filter.
Enum represented by u32
Continue filter chain iteration. If headers have not yet been sent to the next filter, they will be sent first via decodeHeaders()/encodeHeaders(). If data has previously been buffered, the data in this callback will be added to the buffer before the entirety is sent to the next filter.
Do not iterate to any of the remaining filters in the chain, and buffer body data for later dispatching. Returning FilterDataStatus::Continue from decodeData()/encodeData() or calling continueDecoding()/continueEncoding() MUST be called if continued filter iteration is desired.
This should be called by filters which must parse a larger block of the incoming data before continuing processing and so can not push back on streaming data via watermarks.
If buffering the request causes buffered data to exceed the configured buffer limit, a 413 will be sent to the user. On the response path exceeding buffer limits will result in a 500.
Do not iterate to any of the remaining filters in the chain, and buffer body data for later dispatching. Returning FilterDataStatus::Continue from decodeData()/encodeData() or calling continueDecoding()/continueEncoding() MUST be called if continued filter iteration is desired.
This will cause the flow of incoming data to cease until one of the continue.*() functions is called.
This should be returned by filters which can nominally stream data but have a transient back-up such as the configured delay of the fault filter, or if the router filter is still fetching an upstream connection.
Do not iterate to any of the remaining filters in the chain, but do not buffer any of the body data for later dispatching. Returning FilterDataStatus::Continue from decodeData()/encodeData() or calling continueDecoding()/continueEncoding() MUST be called if continued filter iteration is desired.
Return codes for encode/decode trailers filter invocations. The connection manager bases further filter invocations on the return code of the previous filter.
Enum represented by u32
Continue filter chain iteration.
Do not iterate to any of the remaining filters in the chain. Calling continueDecoding()/continueEncoding() MUST be called if continued filter iteration is desired.
Return codes for encode metadata filter invocations. Metadata currently can not stop filter iteration.
Enum represented by u32
Continue filter chain iteration.
Type of a header map.
Enum represented by u32
Request headers of a proxied HTTP request.
Request trailers of a proxied HTTP request.
Response headers of a proxied HTTP request.
Response trailers of a proxied HTTP request.
Client's initial metadata of an outgoing gRPC call.
Server's initial metadata of an outgoing gRPC call.
Server's trailing metadata of an outgoing gRPC call.
Response headers of an outgoing HTTP request.
Response trailers of an outgoing HTTP request.
Type of payload in a buffer.
Enum represented by u32
Request body of a proxied HTTP request.
Response body of a proxied HTTP request.
Request payload of a proxied L4 connection.
Response payload of a proxied L4 connection.
Response body of an outgoing HTTP request.
Response payload of an outgoing gRPC call.
Buffer flags.
Flags represented by u32
End of stream has been reached.
Size of data in a linear memory.
Builtin type u32
Size of a header map, e.g. request headers, response trailers, etc.
Builtin type u32
Unique identifier of a root/connection/request context.
Opaque identifier of an outgoing HTTP request, gRPC call, etc.
Metric handle.
Metric type.
Enum represented by u32
Counter.
Gauge.
Histogram.
Boolean true or false.
Builtin type u32
Timestamp in nanoseconds.
Builtin type u64
Well-known gRPC statuses.
Enum represented by u32
The RPC completed successfully.
The RPC was canceled.
Some unknown error occurred.
An argument to the RPC was invalid.
The deadline for the RPC expired before the RPC completed.
Some resource for the RPC was not found.
A resource the RPC attempted to create already exists.
Permission was denied for the RPC.
Some resource is exhausted, resulting in RPC failure.
Some precondition for the RPC failed.
The RPC was aborted.
Some operation was requested outside of a legal range.
The RPC requested was not implemented.
Some internal error occurred.
The RPC endpoint is current unavailable.
There was some data loss resulting in RPC failure.
The RPC does not have required credentials for the RPC to succeed.
This is a non-GRPC error code, indicating the status code in gRPC headers was invalid.
Log level.
Enum represented by u32
Trace.
Debug.
Info.
Warn.
Error.
Critical.
- memory: Memory
Calls in. extern "C" uint32_t proxy_on_start(uint32_t root_context_id, uint32_t configuration_size); TODO(docs)
root_context_id
has type context_id
TODO(docs)
configuration_len
has type size
TODO(docs)
result
has type u32
TODO(docs)
extern "C" uint32_t proxy_validate_configuration(uint32_t root_context_id, uint32_t configuration_size); TODO(docs)
root_context_id
has type context_id
TODO(docs)
configuration_len
has type size
TODO(docs)
result
has type u32
TODO(docs)
extern "C" uint32_t proxy_on_configure(uint32_t root_context_id, uint32_t configuration_size); TODO(docs)
root_context_id
has type context_id
TODO(docs)
configuration_len
has type size
TODO(docs)
result
has type u32
TODO(docs)
extern "C" void proxy_on_tick(uint32_t root_context_id); TODO(docs)
root_context_id
has type context_id
TODO(docs)
extern "C" void proxy_on_queue_ready(uint32_t root_context_id, uint32_t token); TODO(docs)
root_context_id
has type context_id
TODO(docs)
token
has type token
TODO(docs)
Stream calls. extern "C" void proxy_on_create(uint32_t context_id, uint32_t root_context_id); TODO(docs)
context_id
has type context_id
TODO(docs)
root_context_id
has type context_id
TODO(docs)
Network calls. extern "C" FilterStatus proxy_on_new_connection(uint32_t context_id); TODO(docs)
context_id
has type context_id
TODO(docs)
status
has type filter_status
TODO(docs)
extern "C" FilterStatus proxy_on_downstream_data(uint32_t context_id, uint32_t data_length, uint32_t end_of_stream); TODO(docs)
context_id
has type context_id
TODO(docs)
data_len
has type size
TODO(docs)
end_of_stream
has type boolean
TODO(docs)
status
has type filter_status
TODO(docs)
extern "C" FilterStatus proxy_on_upstream_data(uint32_t context_id, uint32_t data_length, uint32_t end_of_stream); TODO(docs)
context_id
has type context_id
TODO(docs)
data_len
has type size
TODO(docs)
end_of_stream
has type boolean
TODO(docs)
status
has type filter_status
TODO(docs)
extern "C" void proxy_on_downstream_connection_close(uint32_t context_id, uint32_t peer_type); TODO(docs)
context_id
has type context_id
TODO(docs)
peer
has type peer_type
TODO(docs)
extern "C" void proxy_on_upstream_connection_close(uint32_t context_id, uint32_t peer_type); TODO(docs)
context_id
has type context_id
TODO(docs)
peer
has type peer_type
TODO(docs)
HTTP calls. extern "C" FilterHeadersStatus proxy_on_request_headers(uint32_t context_id, uint32_t headers); TODO(docs)
context_id
has type context_id
TODO(docs)
headers_count
has type map_size
TODO(docs)
status
has type filter_headers_status
TODO(docs)
extern "C" FilterDataStatus proxy_on_request_body(uint32_t context_id, uint32_t body_buffer_length, uint32_t end_of_stream); TODO(docs)
context_id
has type context_id
TODO(docs)
body_buffer_length
has type size
TODO(docs)
end_of_stream
has type boolean
TODO(docs)
status
has type filter_data_status
TODO(docs)
extern "C" FilterTrailersStatus proxy_on_request_trailers(uint32_t context_id, uint32_t trailers); TODO(docs)
context_id
has type context_id
TODO(docs)
trailers_count
has type map_size
TODO(docs)
status
has type filter_trailers_status
TODO(docs)
extern "C" FilterMetadataStatus proxy_on_request_metadata(uint32_t context_id, uint32_t nelements); TODO(docs)
context_id
has type context_id
TODO(docs)
elements_count
has type map_size
TODO(docs)
status
has type filter_metadata_status
TODO(docs)
extern "C" FilterHeadersStatus proxy_on_response_headers(uint32_t context_id, uint32_t headers); TODO(docs)
context_id
has type context_id
TODO(docs)
headers_count
has type map_size
TODO(docs)
status
has type filter_headers_status
TODO(docs)
extern "C" FilterDataStatus proxy_on_response_body(uint32_t context_id, uint32_t body_buffer_length, uint32_t end_of_stream); TODO(docs)
context_id
has type context_id
TODO(docs)
body_buffer_length
has type size
TODO(docs)
end_of_stream
has type boolean
TODO(docs)
status
has type filter_data_status
TODO(docs)
extern "C" FilterTrailersStatus proxy_on_response_trailers(uint32_t context_id, uint32_t trailers); TODO(docs)
context_id
has type context_id
TODO(docs)
trailers_count
has type map_size
TODO(docs)
status
has type filter_trailers_status
TODO(docs)
extern "C" FilterMetadataStatus proxy_on_response_metadata(uint32_t context_id, uint32_t nelements); TODO(docs)
context_id
has type context_id
TODO(docs)
elements_count
has type map_size
TODO(docs)
status
has type filter_metadata_status
TODO(docs)
extern "C" uint32_t proxy_on_done(uint32_t context_id); The stream/vm has completed.
context_id
has type context_id
TODO(docs)
result
has type u32
TODO(docs)
extern "C" void proxy_on_log(uint32_t context_id); proxy_on_log occurs after proxy_on_done.
context_id
has type context_id
TODO(docs)
extern "C" void proxy_on_delete(uint32_t context_id); The Context in the proxy has been destroyed and no further calls will be coming.
context_id
has type context_id
TODO(docs)
HTTP. extern "C" void proxy_on_http_call_response(uint32_t context_id, uint32_t token, uint32_t headers, uint32_t body_size, uint32_t trailers); TODO(docs)
context_id
has type context_id
TODO(docs)
token
has type token
TODO(docs)
headers_count
has type map_size
TODO(docs)
body_size
has type size
TODO(docs)
trailers_count
has type map_size
TODO(docs)
gRPC. extern "C" void proxy_on_grpc_create_initial_metadata(uint32_t context_id, uint32_t token, uint32_t headers); TODO(docs)
context_id
has type context_id
TODO(docs)
token
has type token
TODO(docs)
headers_count
has type map_size
TODO(docs)
extern "C" void proxy_on_grpc_receive_initial_metadata(uint32_t context_id, uint32_t token, uint32_t headers); TODO(docs)
context_id
has type context_id
TODO(docs)
token
has type token
TODO(docs)
headers_count
has type map_size
TODO(docs)
extern "C" void proxy_on_grpc_trailing_metadata(uint32_t context_id, uint32_t token, uint32_t trailers); TODO(docs)
context_id
has type context_id
TODO(docs)
token
has type token
TODO(docs)
trailers_count
has type map_size
TODO(docs)
extern "C" void proxy_on_grpc_receive(uint32_t context_id, uint32_t token, uint32_t response_size); TODO(docs)
context_id
has type context_id
TODO(docs)
token
has type token
TODO(docs)
response_size
has type size
TODO(docs)
extern "C" void proxy_on_grpc_close(uint32_t context_id, uint32_t token, uint32_t status_code); TODO(docs)
context_id
has type context_id
TODO(docs)
token
has type token
TODO(docs)
status_code
has type grpc_status
TODO(docs)
- memory: Memory
Configuration and Status. extern "C" WasmResult proxy_get_configuration(const char** configuration_ptr, size_t* configuration_size); TODO(docs)
config
has type Pointer<Pointer<char8>>
TODO(docs)
config_len
has type Pointer<size>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_get_status(uint32_t* status_code_ptr, const char** message_ptr, size_t* message_size); Results status details for any previous ABI call and onGrpcClose.
code
has type Pointer<wasm_result>
TODO(docs)
message
has type Pointer<Pointer<char8>>
TODO(docs)
message_len
has type Pointer<size>
TODO(docs)
error
has type wasm_result
TODO(docs)
Logging extern "C" WasmResult proxy_log(LogLevel level, const char* logMessage, size_t messageSize); TODO(docs)
level
has type log_level
TODO(docs)
message
has type string
TODO(docs)
error
has type wasm_result
TODO(docs)
Timer extern "C" WasmResult proxy_set_tick_period_milliseconds(uint32_t millisecond); Timer (must be called from a root context, e.g. onStart, onTick).
period_millis
has type u32
TODO(docs)
error
has type wasm_result
TODO(docs)
Time extern "C" WasmResult proxy_get_current_time_nanoseconds(uint64_t* nanoseconds); TODO(docs)
time
has type Pointer<timestamp>
TODO(docs)
error
has type wasm_result
TODO(docs)
State accessors extern "C" WasmResult proxy_get_property(const char* path_ptr, size_t path_size, const char** value_ptr_ptr, size_t* value_size_ptr); TODO(docs)
path
has type string
TODO(docs)
value
has type Pointer<Pointer<char8>>
TODO(docs)
value_len
has type Pointer<size>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_set_property(const char* path_ptr, size_t path_size, const char* value_ptr, size_t value_size); TODO(docs)
path
has type string
TODO(docs)
value
has type string
TODO(docs)
error
has type wasm_result
TODO(docs)
System extern "C" WasmResult proxy_set_effective_context(uint32_t effective_context_id); TODO(docs)
id
has type context_id
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_done(); TODO(docs)
error
has type wasm_result
TODO(docs)
Metrics extern "C" WasmResult proxy_define_metric(MetricType type, const char* name_ptr, size_t name_size, uint32_t* metric_id); TODO(docs)
metric_type
has type metric_type
TODO(docs)
name
has type string
TODO(docs)
id
has type Pointer<metric_id>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_increment_metric(uint32_t metric_id, int64_t offset); TODO(docs)
id
has type metric_id
TODO(docs)
offset
has type s64
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_record_metric(uint32_t metric_id, uint64_t value); TODO(docs)
id
has type metric_id
TODO(docs)
value
has type u64
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_get_metric(uint32_t metric_id, uint64_t* result); TODO(docs)
id
has type metric_id
TODO(docs)
value
has type Pointer<u64>
TODO(docs)
error
has type wasm_result
TODO(docs)
Continue/Reply/Route extern "C" WasmResult proxy_continue_request(); TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_continue_response(); TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_send_local_response(uint32_t response_code, const char* response_code_details_ptr, size_t response_code_details_size, const char* body_ptr, size_t body_size, const char* additional_response_header_pairs_ptr, size_t additional_response_header_pairs_size, uint32_t grpc_status); TODO(docs)
response_code
has type u32
TODO(docs)
response_code_details
has type string
TODO(docs)
body
has type string
TODO(docs)
additional_response_header_pairs
has type string
TODO(docs)
grpc_status
has type grpc_status
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_clear_route_cache(); TODO(docs)
error
has type wasm_result
TODO(docs)
SharedData extern "C" WasmResult proxy_get_shared_data(const char* key_ptr, size_t key_size, const char** value_ptr, size_t* value_size, uint32_t* cas); Returns: Ok, NotFound TODO(docs)
key
has type string
TODO(docs)
value
has type Pointer<Pointer<char8>>
TODO(docs)
value_len
has type Pointer<size>
TODO(docs)
cas
has type Pointer<u32>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_set_shared_data(const char* key_ptr, size_t key_size, const char* value_ptr, size_t value_size, uint32_t cas); // If cas != 0 and cas != the current cas for 'key' return false, otherwise set the value and // return true. // Returns: Ok, CasMismatch TODO(docs)
key
has type string
TODO(docs)
value
has type string
TODO(docs)
cas
has type u32
TODO(docs)
error
has type wasm_result
TODO(docs)
SharedQueue extern "C" WasmResult proxy_register_shared_queue(const char* queue_name_ptr, size_t queue_name_size, uint32_t* token); // Note: Registering the same queue_name will overwrite the old registration while preseving any // pending data. Consequently it should typically be followed by a call to // proxy_dequeue_shared_queue. Returns: Ok TODO(docs)
queue_name
has type string
TODO(docs)
token
has type Pointer<token>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_resolve_shared_queue(const char* vm_id, size_t vm_id_size, const char* queue_name_ptr, size_t queue_name_size, uint32_t* token); // Returns: Ok, NotFound TODO(docs)
vm_id
has type string
TODO(docs)
queue_name
has type string
TODO(docs)
token
has type Pointer<token>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_dequeue_shared_queue(uint32_t token, const char** data_ptr, size_t* data_size); // Returns Ok, Empty, NotFound (token not registered). TODO(docs)
token
has type token
TODO(docs)
data
has type Pointer<Pointer<char8>>
TODO(docs)
data_len
has type Pointer<size>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_enqueue_shared_queue(uint32_t token, const char* data_ptr, size_t data_size); // Returns false if the queue was not found and the data was not enqueued. TODO(docs)
token
has type token
TODO(docs)
data
has type string
TODO(docs)
error
has type wasm_result
TODO(docs)
Headers/Trailers/Metadata Maps extern "C" WasmResult proxy_add_header_map_value(HeaderMapType type, const char* key_ptr, size_t key_size, const char* value_ptr, size_t value_size); TODO(docs)
headers_type
has type headers_type
TODO(docs)
key
has type string
TODO(docs)
value
has type string
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_get_header_map_value(HeaderMapType type, const char* key_ptr, size_t key_size, const char** value_ptr, size_t* value_size); TODO(docs)
headers_type
has type headers_type
TODO(docs)
key
has type string
TODO(docs)
value
has type Pointer<Pointer<char8>>
TODO(docs)
value_len
has type Pointer<size>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_get_header_map_pairs(HeaderMapType type, const char** ptr, size_t* size); TODO(docs)
headers_type
has type headers_type
TODO(docs)
buf
has type Pointer<Pointer<char8>>
TODO(docs)
buf_len
has type Pointer<size>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_set_header_map_pairs(HeaderMapType type, const char* ptr, size_t size); TODO(docs)
headers_type
has type headers_type
TODO(docs)
buf
has type string
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_replace_header_map_value(HeaderMapType type, const char* key_ptr, size_t key_size, const char* value_ptr, size_t value_size); TODO(docs)
headers_type
has type headers_type
TODO(docs)
key
has type string
TODO(docs)
value
has type string
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_remove_header_map_value(HeaderMapType type, const char* key_ptr, size_t key_size); TODO(docs)
headers_type
has type headers_type
TODO(docs)
key
has type string
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_get_header_map_size(HeaderMapType type, size_t* size); TODO(docs)
headers_type
has type headers_type
TODO(docs)
len
has type Pointer<map_size>
TODO(docs)
error
has type wasm_result
TODO(docs)
Buffer extern "C" WasmResult proxy_get_buffer_bytes(BufferType type, uint32_t start, uint32_t length, const char** ptr, size_t* size); TODO(docs)
buffer_type
has type buffer_type
TODO(docs)
start
has type u32
TODO(docs)
length
has type u32
TODO(docs)
buf
has type Pointer<Pointer<char8>>
TODO(docs)
buf_len
has type Pointer<size>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_get_buffer_status(BufferType type, size_t* length_ptr, uint32_t* flags_ptr); TODO(docs)
buffer_type
has type buffer_type
TODO(docs)
len
has type Pointer<u32>
TODO(docs)
flags
has type Pointer<buffer_flags>
TODO(docs)
error
has type wasm_result
TODO(docs)
HTTP extern "C" WasmResult proxy_http_call(const char* uri_ptr, size_t uri_size, void* header_pairs_ptr, size_t header_pairs_size, const char* body_ptr, size_t body_size, void* trailer_pairs_ptr, size_t trailer_pairs_size, uint32_t timeout_milliseconds, uint32_t* token_ptr); TODO(docs)
uri
has type string
TODO(docs)
header_pairs
has type string
TODO(docs)
body
has type string
TODO(docs)
trailer_pairs
has type string
TODO(docs)
timeout_ms
has type u32
TODO(docs)
token
has type Pointer<token>
TODO(docs)
error
has type wasm_result
TODO(docs)
gRPC extern "C" WasmResult proxy_grpc_call(const char* service_ptr, size_t service_size, const char* service_name_ptr, size_t service_name_size, const char* method_name_ptr, size_t method_name_size, const char* request_ptr, size_t request_size, uint32_t timeout_milliseconds, uint32_t* token_ptr); TODO(docs)
service
has type string
TODO(docs)
service_name
has type string
TODO(docs)
method_name
has type string
TODO(docs)
request
has type string
TODO(docs)
timeout_ms
has type u32
TODO(docs)
token
has type Pointer<token>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_grpc_stream(const char* service_ptr, size_t service_size, const char* service_name_ptr, size_t service_name_size, const char* method_name_ptr, size_t method_name_size, uint32_t* token_ptr); TODO(docs)
service
has type string
TODO(docs)
service_name
has type string
TODO(docs)
method_name
has type string
TODO(docs)
token
has type Pointer<token>
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_grpc_cancel(uint32_t token); TODO(docs)
token
has type token
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_grpc_close(uint32_t token); TODO(docs)
token
has type token
TODO(docs)
error
has type wasm_result
TODO(docs)
extern "C" WasmResult proxy_grpc_send(uint32_t token, const char* message_ptr, size_t message_size, uint32_t end_stream); TODO(docs)
token
has type token
TODO(docs)
message
has type string
TODO(docs)
end_stream
has type boolean
TODO(docs)
error
has type wasm_result
TODO(docs)