public StreamConfigurationBuilder(StreamConfiguration sc) { if (sc == null) { return; } _name = sc.Name; _description = sc.Description; WithSubjects(sc.Subjects); // handles null _retentionPolicy = sc.RetentionPolicy; _maxConsumers = sc.MaxConsumers; _maxMsgs = sc.MaxMsgs; _maxMsgsPerSubject = sc.MaxMsgsPerSubject; _maxBytes = sc.MaxBytes; _maxAge = sc.MaxAge; _maxMsgSize = sc.MaxValueSize; _storageType = sc.StorageType; _replicas = sc.Replicas; _noAck = sc.NoAck; _templateOwner = sc.TemplateOwner; _discardPolicy = sc.DiscardPolicy; _duplicateWindow = sc.DuplicateWindow; _placement = sc.Placement; _mirror = sc.Mirror; WithSources(sc.Sources); _sealed = sc.Sealed; _allowRollup = sc.AllowRollup; _denyDelete = sc.DenyDelete; _denyPurge = sc.DenyPurge; }
private void Init(JSONNode siNode) { Created = AsDate(siNode[ApiConstants.Created]); Config = new StreamConfiguration(siNode[ApiConstants.Config]); State = StreamState.OptionalInstance(siNode[ApiConstants.State]); ClusterInfo = ClusterInfo.OptionalInstance(siNode[ApiConstants.Cluster]); MirrorInfo = MirrorInfo.OptionalInstance(siNode[ApiConstants.Mirror]); SourceInfos = SourceInfo.OptionalListOf(siNode[ApiConstants.Sources]); }
private StreamInfo AddOrUpdateStream(StreamConfiguration config, string addUpdateTemplate) { Validator.ValidateNotNull(config, nameof(config)); if (string.IsNullOrWhiteSpace(config.Name)) { throw new ArgumentException("Configuration must have a valid stream name"); } string subj = string.Format(addUpdateTemplate, config.Name); Msg m = RequestResponseRequired(subj, config.Serialize(), Timeout); return(new StreamInfo(m, true)); }
public static StreamConfigurationBuilder Builder(StreamConfiguration sc) { return(new StreamConfigurationBuilder(sc)); }
public StreamInfo UpdateStream(StreamConfiguration config) => AddOrUpdateStream(config, JetStreamConstants.JsapiStreamUpdate);