Struct WorkspaceFileEvent

Namespace
Kuestenlogik.Bowire.Workspace.Git
Assembly
Kuestenlogik.Bowire.Workspace.Git.dll

One file-system event surfaced by the workspace watcher. Emitted on the SSE stream the workbench subscribes to so it can react to external edits (a teammate's git pull, an editor saving an environment file, etc.) without hammering the disk on a poll.

public readonly struct WorkspaceFileEvent : IEquatable<WorkspaceFileEvent>
Implements
Inherited Members

Constructors

WorkspaceFileEvent(string, string, long)

One file-system event surfaced by the workspace watcher. Emitted on the SSE stream the workbench subscribes to so it can react to external edits (a teammate's git pull, an editor saving an environment file, etc.) without hammering the disk on a poll.

public WorkspaceFileEvent(string Kind, string RelativePath, long TimestampMs)

Parameters

Kind string

One of file-created, file-changed, file-deleted. File renames are surfaced as a delete + create pair so the downstream consumer doesn't need a separate rename arm.

RelativePath string

Path of the affected file relative to the watched workspace root. Uses forward-slash separators on every OS so the JS-side payload reads identically on Linux and Windows runners.

TimestampMs long

Server-side UtcNow in unix-ms at the moment the debounced event was emitted. Used by the SSE client to dedup events that landed during a reconnect.

Properties

Kind

One of file-created, file-changed, file-deleted. File renames are surfaced as a delete + create pair so the downstream consumer doesn't need a separate rename arm.

public string Kind { get; init; }

Property Value

string

RelativePath

Path of the affected file relative to the watched workspace root. Uses forward-slash separators on every OS so the JS-side payload reads identically on Linux and Windows runners.

public string RelativePath { get; init; }

Property Value

string

TimestampMs

Server-side UtcNow in unix-ms at the moment the debounced event was emitted. Used by the SSE client to dedup events that landed during a reconnect.

public long TimestampMs { get; init; }

Property Value

long

Methods

Deconstruct(out string, out string, out long)

public void Deconstruct(out string Kind, out string RelativePath, out long TimestampMs)

Parameters

Kind string
RelativePath string
TimestampMs long

Equals(WorkspaceFileEvent)

public bool Equals(WorkspaceFileEvent other)

Parameters

other WorkspaceFileEvent

Returns

bool

Equals(object)

public override bool Equals(object obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(WorkspaceFileEvent, WorkspaceFileEvent)

public static bool operator ==(WorkspaceFileEvent left, WorkspaceFileEvent right)

Parameters

left WorkspaceFileEvent
right WorkspaceFileEvent

Returns

bool

operator !=(WorkspaceFileEvent, WorkspaceFileEvent)

public static bool operator !=(WorkspaceFileEvent left, WorkspaceFileEvent right)

Parameters

left WorkspaceFileEvent
right WorkspaceFileEvent

Returns

bool