Table of Contents

Class Outgoing

Namespace
Virtufin.Worker.DevKit
Assembly
Virtufin.Worker.DevKit.dll

One output of a step, ready to become a CloudEvent: its payload, its stable ce-type, the topic it is published to (the publishtopic extension) and optionally its subject and extra extensions. Extensions set here win over those carried from the input.

public sealed record Outgoing : IEquatable<Outgoing>
Inheritance
Outgoing
Implements
Inherited Members

Constructors

Outgoing(JsonObject, string, string, string?, IReadOnlyDictionary<string, string>?)

One output of a step, ready to become a CloudEvent: its payload, its stable ce-type, the topic it is published to (the publishtopic extension) and optionally its subject and extra extensions. Extensions set here win over those carried from the input.

public Outgoing(JsonObject Payload, string Type, string Topic, string? Subject = null, IReadOnlyDictionary<string, string>? Extensions = null)

Parameters

Payload JsonObject
Type string
Topic string
Subject string
Extensions IReadOnlyDictionary<string, string>

Properties

BinaryData

Binary data for the CloudEvent instead of Payload (which is then ignored), e.g. a FlatBuffers order book image; published with DataContentType and DataSchema. Use Binary(byte[], string, string, string, string?, Uri?, IReadOnlyDictionary<string, string>?) to create one.

public byte[]? BinaryData { get; init; }

Property Value

byte[]

DataContentType

The datacontenttype of BinaryData.

public string? DataContentType { get; init; }

Property Value

string

DataSchema

The dataschema of BinaryData, if any.

public Uri? DataSchema { get; init; }

Property Value

Uri

EventTime

The output's own event time, when the worker knows it (e.g. the exchange's close time of a candle it built from a raw frame). It becomes eventtime and ce-time instead of the input's (openspec pubsub-topics, "Envelope on a derived event": unless the deriving worker sets them explicitly). Null: inherit from the input.

public DateTimeOffset? EventTime { get; init; }

Property Value

DateTimeOffset?

Extensions

public IReadOnlyDictionary<string, string>? Extensions { get; init; }

Property Value

IReadOnlyDictionary<string, string>

Payload

public JsonObject Payload { get; init; }

Property Value

JsonObject

Subject

public string? Subject { get; init; }

Property Value

string

Topic

public string Topic { get; init; }

Property Value

string

Type

public string Type { get; init; }

Property Value

string

Methods

Binary(byte[], string, string, string, string?, Uri?, IReadOnlyDictionary<string, string>?)

An output whose CloudEvent carries binary data.

public static Outgoing Binary(byte[] data, string contentType, string type, string topic, string? subject = null, Uri? dataSchema = null, IReadOnlyDictionary<string, string>? extensions = null)

Parameters

data byte[]
contentType string
type string
topic string
subject string
dataSchema Uri
extensions IReadOnlyDictionary<string, string>

Returns

Outgoing