Skip to content

Out of Proc Worker Capabilities

Marie Hoeger edited this page Feb 10, 2021 · 2 revisions

Capabilities are well-known keys that the host and worker can send to each other to change behavior. List of capabilities is here, in RpcWorkerConstants

Below is a description of some of these capabilities.

RawHttpBodyBytes

Always serialize HTTP body as raw bytes.

Introduced here. Relevant code.

TypedDataCollection

Knows how to handle TypedData collections like this. For example, with EventHub Cardinality=Many, we want to support an array of binary data and not a char[]. Supports string[], byte[][], long[], double[].

Introduced here. Relevant code.

RpcHttpBodyOnly

De-dupe body (doesn't send "raw_body")

Introduced here. Relevant code.

RpcHttpTriggerMetadataRemoved

Dedupe HTTP content from trigger metadata

Introduced here. Relevant code.

IgnoreEmptyValuedRpcHttpHeaders

Ignores headers with empty string as value.

This was done to avoid (this issue)[https://github.com/Azure/azure-functions-language-worker-protobuf/issues/21]: a buffer overrun that happens with null values in a "map" type (that we use for things like headers). The more correct way to work around this is to use "UseNullableValueDictionaryForHttp"

Introduced here. Relevant code.

WorkerStatus

Part of throughput improvements to push back worker status info.

Introduced here. Relevant code.

UseNullableValueDictionaryForHttp

Appropriately serializes protobuf "map" types that have empty values.

Introduced here. Relevant code for query, for headers, and for parameters.

SharedMemoryDataTransfer

Performance to not have to pass data over the wire and instead pass reference.

Introduced here. Relevant code.

Learn

Azure Functions Basics

Advanced Concepts

Dotnet Functions

Java Functions

Node.js Functions

Python Functions

Host API's

Bindings

V2 Runtime

Contribute

Functions host

Language workers

Get Help

Other

Clone this wiki locally