Files
rudder-csharp-sdk/RudderClientOptions.cs
edmand46 6c590ca520 Server-side scenario execution: effects client replaces local engine
- client.Effects: typed effects + completion methods posting scenario callbacks
- client.Scenario reduced to TriggerAsync
- pending polling via Update() pump: 30s heartbeat + wait-deadline checks
- local engine, plan persistence (IPlanStateStore) and resume removed
- RealtimeService and realtime transports removed (relay never deployed)
- dead IPlanScheduler leftover removed
- models regenerated from openapi (ExecutionPlan/BoundaryNode gone, PendingEffect added)
2026-09-04 14:03:41 +03:00

33 lines
1.2 KiB
C#

using RudderSdk.Core.Abstractions;
namespace RudderSdk.Core;
/// <summary>
/// Configuration for <see cref="RudderClient"/>. Only <see cref="BaseUrl"/> and
/// <see cref="ProjectKey"/> are required; everything else falls back to a
/// sensible default.
/// </summary>
public sealed class RudderClientOptions
{
/// <summary>API base URL, e.g. https://api.example.com. Required.</summary>
public string? BaseUrl { get; set; }
/// <summary>Project key issued in the admin panel. Required.</summary>
public string? ProjectKey { get; set; }
/// <summary>HTTP transport. Defaults to <see cref="HttpClientTransport"/>.</summary>
public IRudderTransport? Transport { get; set; }
/// <summary>Session token storage. Defaults to <see cref="InMemoryTokenStore"/>.</summary>
public ITokenStore? TokenStore { get; set; }
/// <summary>Device identity for login. Defaults to <see cref="GuidDeviceIdProvider"/>.</summary>
public IDeviceIdProvider? DeviceIdProvider { get; set; }
/// <summary>Diagnostic sink. Null by default (silent).</summary>
public IRudderLogger? Logger { get; set; }
/// <summary>Time source for the effects client; override in tests.</summary>
public IClock? Clock { get; set; }
}