Table of Contents

Class SupervisorHello

Namespace
Openshell.V1
Assembly
OpenShell.Sdk.dll

Supervisor identifies itself and the sandbox it manages.

public sealed class SupervisorHello : IMessage<SupervisorHello>, IEquatable<SupervisorHello>, IDeepCloneable<SupervisorHello>, IBufferMessage, IMessage
Inheritance
SupervisorHello
Implements
IMessage<SupervisorHello>
IDeepCloneable<SupervisorHello>
IBufferMessage
IMessage
Inherited Members

Constructors

SupervisorHello()

public SupervisorHello()

SupervisorHello(SupervisorHello)

public SupervisorHello(SupervisorHello other)

Parameters

other SupervisorHello

Fields

ConnectionEpochFieldNumber

Field number for the "connection_epoch" field.

public const int ConnectionEpochFieldNumber = 3

Field Value

int

InstanceIdFieldNumber

Field number for the "instance_id" field.

public const int InstanceIdFieldNumber = 2

Field Value

int

RedirectedFieldNumber

Field number for the "redirected" field.

public const int RedirectedFieldNumber = 5

Field Value

int

SandboxIdFieldNumber

Field number for the "sandbox_id" field.

public const int SandboxIdFieldNumber = 1

Field Value

int

SupportsConfigPushFieldNumber

Field number for the "supports_config_push" field.

public const int SupportsConfigPushFieldNumber = 7

Field Value

int

SupportsProviderReadinessFieldNumber

Field number for the "supports_provider_readiness" field.

public const int SupportsProviderReadinessFieldNumber = 4

Field Value

int

SupportsSessionRedirectFieldNumber

Field number for the "supports_session_redirect" field.

public const int SupportsSessionRedirectFieldNumber = 6

Field Value

int

Properties

ConnectionEpoch

Monotonic counter scoped to instance_id. Incremented for each reconnect so gateways can distinguish a fresh supervisor connection from stale cleanup.

public ulong ConnectionEpoch { get; set; }

Property Value

ulong

Descriptor

public static MessageDescriptor Descriptor { get; }

Property Value

MessageDescriptor

InstanceId

Supervisor instance ID (e.g. boot id or process epoch).

public string InstanceId { get; set; }

Property Value

string

Parser

public static MessageParser<SupervisorHello> Parser { get; }

Property Value

MessageParser<SupervisorHello>

Redirected

Set when this connection is the result of following a SessionRedirect. The receiving gateway serves a redirected hello locally instead of redirecting again, so a disagreement about membership cannot bounce the supervisor between replicas. A gateway that is shutting down may still redirect it.

public bool Redirected { get; set; }

Property Value

bool

SandboxId

Sandbox ID this supervisor manages.

public string SandboxId { get; set; }

Property Value

string

SupportsConfigPush

The supervisor can receive its configuration over this stream instead of polling for it: it applies the bootstrap ConfigUpdate and later ConfigUpdate payloads, and answers each with its result and admission. Gateways push configuration only to supervisors that set this.

public bool SupportsConfigPush { get; set; }

Property Value

bool

SupportsProviderReadiness

The supervisor can report credential, policy, and launch-environment installation.

public bool SupportsProviderReadiness { get; set; }

Property Value

bool

SupportsSessionRedirect

The supervisor understands SessionRedirect. Gateways never redirect a supervisor that does not set this.

public bool SupportsSessionRedirect { get; set; }

Property Value

bool

Methods

CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

public int CalculateSize()

Returns

int

The number of bytes required to write this message to a coded output stream.

Clone()

Creates a deep clone of this object.

public SupervisorHello Clone()

Returns

SupervisorHello

A deep clone of this object.

Equals(SupervisorHello)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(SupervisorHello other)

Parameters

other SupervisorHello

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object)

Determines whether the specified object is equal to the current object.

public override bool Equals(object other)

Parameters

other object

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

MergeFrom(CodedInputStream)

Merges the data from the specified coded input stream with the current message.

public void MergeFrom(CodedInputStream input)

Parameters

input CodedInputStream

Remarks

See the user guide for precise merge semantics.

MergeFrom(SupervisorHello)

Merges the given message into this one.

public void MergeFrom(SupervisorHello other)

Parameters

other SupervisorHello

Remarks

See the user guide for precise merge semantics.

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.

WriteTo(CodedOutputStream)

Writes the data to the given coded output stream.

public void WriteTo(CodedOutputStream output)

Parameters

output CodedOutputStream

Coded output stream to write the data to. Must not be null.