diff --git a/src/NATS.Client.Core/INatsConnection.cs b/src/NATS.Client.Core/INatsConnection.cs index 9ca6b0a01..45b859e41 100644 --- a/src/NATS.Client.Core/INatsConnection.cs +++ b/src/NATS.Client.Core/INatsConnection.cs @@ -133,6 +133,7 @@ public interface INatsConnection : INatsClient /// /// if reply option's timeout is not defined then it will be set to NatsOpts.RequestTimeout. /// + /// RequestManyWithSentinelAsync for custom stop conditions IAsyncEnumerable> RequestManyAsync( string subject, TRequest? data, diff --git a/src/NATS.Client.Core/NatsOpts.cs b/src/NATS.Client.Core/NatsOpts.cs index b75f87e50..6950e0775 100644 --- a/src/NATS.Client.Core/NatsOpts.cs +++ b/src/NATS.Client.Core/NatsOpts.cs @@ -28,6 +28,7 @@ public enum NatsRequestReplyMode /// /// Immutable options for NatsConnection, you can configure via `with` operator. /// +/// Load NatsOpts from NATS CLI context files public sealed record NatsOpts { public static readonly NatsOpts Default = new() diff --git a/src/NATS.Client.JetStream/Models/ConsumerConfig.cs b/src/NATS.Client.JetStream/Models/ConsumerConfig.cs index 3f49fbdaa..5a4d2cff3 100644 --- a/src/NATS.Client.JetStream/Models/ConsumerConfig.cs +++ b/src/NATS.Client.JetStream/Models/ConsumerConfig.cs @@ -111,6 +111,7 @@ public ConsumerConfig(string name) /// /// Filter the stream by a single subjects /// + /// Partitioned consumer groups with subject-based partitioning [System.Text.Json.Serialization.JsonPropertyName("filter_subject")] [System.Text.Json.Serialization.JsonIgnore(Condition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingDefault)] public string? FilterSubject { get; set; } @@ -118,6 +119,7 @@ public ConsumerConfig(string name) /// /// Filter the stream by multiple subjects /// + /// Partitioned consumer groups with multi-subject partitioning [System.Text.Json.Serialization.JsonPropertyName("filter_subjects")] [System.Text.Json.Serialization.JsonIgnore(Condition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingDefault)] public ICollection? FilterSubjects { get; set; } diff --git a/src/NATS.Client.JetStream/Models/StreamConfig.cs b/src/NATS.Client.JetStream/Models/StreamConfig.cs index f4d31482c..c60abf249 100644 --- a/src/NATS.Client.JetStream/Models/StreamConfig.cs +++ b/src/NATS.Client.JetStream/Models/StreamConfig.cs @@ -217,6 +217,8 @@ public StreamConfig() /// /// Allow higher performance, direct access to get individual messages /// + /// Batch direct message retrieval via GetBatchDirectAsync + /// Distributed counters require direct-access streams [System.Text.Json.Serialization.JsonPropertyName("allow_direct")] [System.Text.Json.Serialization.JsonIgnore(Condition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingDefault)] public bool AllowDirect { get; set; } @@ -243,6 +245,7 @@ public StreamConfig() /// AllowMsgTTL allows header initiated per-message TTLs. If disabled, then the `NATS-TTL` header will be ignored. /// /// This feature is only available on NATS server v2.11 and later. + /// Scheduled and delayed message publishing [System.Text.Json.Serialization.JsonPropertyName("allow_msg_ttl")] [System.Text.Json.Serialization.JsonIgnore(Condition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingDefault)] public bool AllowMsgTTL { get; set; } @@ -267,6 +270,7 @@ public StreamConfig() /// Allow message counter. /// /// Supported by server v2.12 + /// Distributed counter operations via NatsJSCounter [System.Text.Json.Serialization.JsonPropertyName("allow_msg_counter")] [System.Text.Json.Serialization.JsonIgnore(Condition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingDefault)] public bool AllowMsgCounter { get; set; } @@ -274,6 +278,7 @@ public StreamConfig() /// /// AllowMsgSchedules enables the scheduling of messages. /// + /// PublishScheduledAsync for delayed and recurring message scheduling [System.Text.Json.Serialization.JsonPropertyName("allow_msg_schedules")] [System.Text.Json.Serialization.JsonIgnore(Condition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingDefault)] public bool AllowMsgSchedules { get; set; } @@ -281,6 +286,7 @@ public StreamConfig() /// /// AllowAtomicPublish allows atomic batch publishing into the stream. /// + /// Atomic batch publishing via PublishMsgBatchAsync [System.Text.Json.Serialization.JsonPropertyName("allow_atomic")] [System.Text.Json.Serialization.JsonIgnore(Condition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingDefault)] public bool AllowAtomicPublish { get; set; } diff --git a/src/NATS.Client.KeyValueStore/INatsKVStore.cs b/src/NATS.Client.KeyValueStore/INatsKVStore.cs index 566406c6c..e7e2d1873 100644 --- a/src/NATS.Client.KeyValueStore/INatsKVStore.cs +++ b/src/NATS.Client.KeyValueStore/INatsKVStore.cs @@ -3,6 +3,10 @@ namespace NATS.Client.KeyValueStore; +/// +/// Represents a NATS Key-Value Store bucket. +/// +/// KV codec extensions for typed serialization public interface INatsKVStore { ///