43 lines
2.0 KiB
C#
43 lines
2.0 KiB
C#
using Grpc.Core;
|
|
using MxGateway.Contracts.Proto.Galaxy;
|
|
|
|
namespace MxGateway.Client;
|
|
|
|
/// <summary>Transport layer for Galaxy Repository gRPC operations.</summary>
|
|
internal interface IGalaxyRepositoryClientTransport
|
|
{
|
|
/// <summary>Gets the client options used to configure this transport.</summary>
|
|
MxGatewayClientOptions Options { get; }
|
|
|
|
/// <summary>Gets the underlying gRPC client, or <c>null</c> if not yet initialized.</summary>
|
|
GalaxyRepository.GalaxyRepositoryClient? RawClient { get; }
|
|
|
|
/// <summary>Tests the connection to the Galaxy Repository server.</summary>
|
|
/// <param name="request">The test connection request.</param>
|
|
/// <param name="callOptions">gRPC call options (timeout, cancellation, etc.).</param>
|
|
Task<TestConnectionReply> TestConnectionAsync(
|
|
TestConnectionRequest request,
|
|
CallOptions callOptions);
|
|
|
|
/// <summary>Gets the last deploy time from the Galaxy Repository server.</summary>
|
|
/// <param name="request">The get last deploy time request.</param>
|
|
/// <param name="callOptions">gRPC call options (timeout, cancellation, etc.).</param>
|
|
Task<GetLastDeployTimeReply> GetLastDeployTimeAsync(
|
|
GetLastDeployTimeRequest request,
|
|
CallOptions callOptions);
|
|
|
|
/// <summary>Discovers the object hierarchy in the Galaxy Repository.</summary>
|
|
/// <param name="request">The discover hierarchy request.</param>
|
|
/// <param name="callOptions">gRPC call options (timeout, cancellation, etc.).</param>
|
|
Task<DiscoverHierarchyReply> DiscoverHierarchyAsync(
|
|
DiscoverHierarchyRequest request,
|
|
CallOptions callOptions);
|
|
|
|
/// <summary>Watches for deployment events from the Galaxy Repository server.</summary>
|
|
/// <param name="request">The watch deploy events request.</param>
|
|
/// <param name="callOptions">gRPC call options (timeout, cancellation, etc.).</param>
|
|
IAsyncEnumerable<DeployEvent> WatchDeployEventsAsync(
|
|
WatchDeployEventsRequest request,
|
|
CallOptions callOptions);
|
|
}
|