Table of Contents

Class HelloMessage

Namespace
Typhon.Protocol
Assembly
Typhon.Protocol.dll

HELLO (0x81): the client's first message, at most HelloMaxBytes.

public sealed class HelloMessage
Inheritance
HelloMessage
Inherited Members

Constructors

HelloMessage()

public HelloMessage()

Properties

Caps

The optional work the client asks for.

public Capabilities Caps { get; init; }

Property Value

Capabilities

ClientCatalogHash

The catalog hash the client already holds, or 0 for none.

public ulong ClientCatalogHash { get; init; }

Property Value

ulong

HelloPayload

Application data for the session's Opened hook, at most 256 bytes; empty for none.

public byte[] HelloPayload { get; init; }

Property Value

byte[]

Kind

The session kind, an application-declared name the engine never interprets (W21).

public string Kind { get; init; }

Property Value

string

Major

The client's protocol major.

public ushort Major { get; init; }

Property Value

ushort

Minor

The client's protocol minor.

public ushort Minor { get; init; }

Property Value

ushort

ResumeToken

A resume token from an earlier WELCOME, or all zeros (or null) for none.

public byte[] ResumeToken { get; init; }

Property Value

byte[]

Token

An opaque token handed to the application's admission hook (W22).

public string Token { get; init; }

Property Value

string

Methods

Parse(ReadOnlySpan<byte>)

Reads a whole HELLO message: its type byte, its body, and nothing after it.

public static HelloMessage Parse(ReadOnlySpan<byte> message)

Parameters

message ReadOnlySpan<byte>

The message.

Returns

HelloMessage

The message.

Read(ref WireReader)

Reads the message body; the type byte has already been read.

public static HelloMessage Read(ref WireReader reader)

Parameters

reader WireReader

The reader, positioned after the type byte.

Returns

HelloMessage

The message.

Write(ref WireWriter)

Writes the message, type byte included.

public void Write(ref WireWriter writer)

Parameters

writer WireWriter

The writer.