コード例 #1
0
 private void ValidateGlobalStoreArguments <K, V>(string sourceName,
                                                  string topicName,
                                                  string processorName,
                                                  IProcessorSupplier <K, V> stateUpdateSupplier,
                                                  string storeName,
                                                  bool loggingEnabled)
 {
     if (nodeFactories.ContainsKey(sourceName))
     {
         throw new TopologyException($"Processor {sourceName} is already added.");
     }
     if (nodeFactories.ContainsKey(processorName))
     {
         throw new TopologyException($"Processor {processorName} is already added.");
     }
     if (stateFactories.ContainsKey(storeName) || globalStateBuilders.ContainsKey(storeName))
     {
         throw new TopologyException("StateStore " + storeName + " is already added.");
     }
     if (loggingEnabled)
     {
         throw new TopologyException($"StateStore {storeName} for global table must not have logging enabled.");
     }
     if (sourceName.Equals(processorName))
     {
         throw new TopologyException("sourceName and processorName must be different.");
     }
 }
コード例 #2
0
        internal void AddProcessor<K, V>(string nameNode, IProcessorSupplier<K, V> processor, params string[] previousProcessorNames)
        {
            if (nodeFactories.ContainsKey(nameNode))
                throw new TopologyException($"Processor {nameNode} is already added.");

            nodeFactories.Add(nameNode, new ProcessorNodeFactory<K, V>(nameNode, previousProcessorNames, processor));
            nodeGrouper.Add(nameNode);
            nodeGrouper.Unite(nameNode, previousProcessorNames);
            nodeGroups = null;
        }
コード例 #3
0
 internal void AddProcessor <K, V>(string nameNode, IProcessorSupplier <K, V> processor)
 {
     if (!processorOperators.ContainsKey(nameNode))
     {
         var p = processor.Get();
         p.SetProcessorName(nameNode);
         processorOperators.Add(nameNode, p);
     }
     else
     {
         throw new Exception("Processor operator already exist !");
     }
 }
コード例 #4
0
 public TableProcessorParameters(IProcessorSupplier <K, Change <V> > processorSupplier, string processorName)
     : base(processorSupplier, processorName)
 {
 }
コード例 #5
0
 public ProcessorNodeFactory(string name, string[] previous, IProcessorSupplier <K, V> supplier)
     : base(name, previous)
 {
     Supplier = supplier;
 }
コード例 #6
0
 internal KTableGrouped(string name, ISerDes <KR> keySerde, ISerDes <VR> valSerde, List <string> sourceNodes, string queryableStoreName, IProcessorSupplier <K, V> processorSupplier, StreamGraphNode streamsGraphNode, InternalStreamBuilder builder)
     : base(name, keySerde, valSerde, sourceNodes, queryableStoreName, (IProcessorSupplier <KR, V>)null, streamsGraphNode, builder)
 {
     this.processorSupplier = processorSupplier;
 }
コード例 #7
0
 public ProcessorParameters(IProcessorSupplier <K, V> processorSupplier, String processorName)
 {
     this.Processor     = processorSupplier;
     this.ProcessorName = processorName;
 }
コード例 #8
0
 internal KTable(string name, ISerDes <K> keySerde, ISerDes <V> valSerde, List <string> sourceNodes, String queryableStoreName, IProcessorSupplier <K, S> processorSupplier, StreamGraphNode streamsGraphNode, InternalStreamBuilder builder)
     : base(name, keySerde, valSerde, sourceNodes, streamsGraphNode, builder)
 {
     this.processorSupplier  = processorSupplier;
     this.queryableStoreName = queryableStoreName;
 }