Skip to content

Vhi.GrpcControlServer

VHI_godot

Vhi

GrpcControlServer Class

Hosts the in-process gRPC control server (Grpc.AspNetCore / Kestrel) that MyoGestic connects to. Discrete commands (set movement, freeze, speed, ...) arrive here; continuous time-series stays on LSL.

Loading the ASP.NET Core shared framework inside Godot relies on SharedFrameworkAssemblyLoader (the godot#112701 workaround), which registers from a [ModuleInitializer] before this node's _Ready() runs.

public class GrpcControlServer : Godot.Node

Inheritance System.Object → Godot.GodotObject → Godot.Node → GrpcControlServer

Fields

GrpcControlServer.GrpcPort Field

TCP port the in-process Kestrel server binds to on 127.0.0.1. Default 50051.

public int GrpcPort;

Field Value

System.Int32

Methods

GrpcControlServer.InvokeOnMainThread\<T>(Func\<T>) Method

Run fn on Godot's main thread and return its result. Called from gRPC handler threads, which await the returned task.

public System.Threading.Tasks.Task<T> InvokeOnMainThread<T>(System.Func<T> fn);

Type parameters

T

Return type of fn.

Parameters

fn System.Func<T>

The closure to execute. Runs synchronously on Godot's main thread on the next _Process tick; any exception it throws is surfaced through the returned task.

Returns

System.Threading.Tasks.Task<T>
A task that completes with fn's return value once it has run on the main thread.

delta System.Double