示例#1
0
 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;
 }
示例#2
0
 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]);
 }
示例#3
0
        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));
        }
示例#4
0
 public static StreamConfigurationBuilder Builder(StreamConfiguration sc)
 {
     return(new StreamConfigurationBuilder(sc));
 }
示例#5
0
 public StreamInfo UpdateStream(StreamConfiguration config)
 => AddOrUpdateStream(config, JetStreamConstants.JsapiStreamUpdate);