Interface IBowireStreamingWithWireBytes

Namespace
Kuestenlogik.Bowire
Assembly
Kuestenlogik.Bowire.dll

Optional extension for IBowireProtocol implementations that can expose the raw wire bytes of each server-streamed frame alongside the JSON rendering. Implemented by protocol plugins whose wire format is binary and distinct from their JSON representation (gRPC today); the JSON-only InvokeStreamAsync(string, string, string, List<string>, bool, Dictionary<string, string>?, CancellationToken) stays the default path for everyone else.

public interface IBowireStreamingWithWireBytes

Remarks

The mock server's Phase-2d gRPC-streaming replay consumes the binary payload so it can emit recorded frames 1:1 on the wire without runtime re-encoding (Google.Protobuf's C# library has no DynamicMessage equivalent, so reconstructing the bytes from JSON + descriptor isn't possible).

Methods

InvokeStreamWithFramesAsync(string, string, string, List<string>, bool, Dictionary<string, string>?, CancellationToken)

Same semantics as InvokeStreamAsync(string, string, string, List<string>, bool, Dictionary<string, string>?, CancellationToken), but each yielded frame carries both the JSON payload and the raw wire bytes.

IAsyncEnumerable<StreamFrame> InvokeStreamWithFramesAsync(string serverUrl, string service, string method, List<string> jsonMessages, bool showInternalServices, Dictionary<string, string>? metadata = null, CancellationToken ct = default)

Parameters

serverUrl string
service string
method string
jsonMessages List<string>
showInternalServices bool
metadata Dictionary<string, string>
ct CancellationToken

Returns

IAsyncEnumerable<StreamFrame>