public override void WriteToTopology(InternalTopologyBuilder builder) { if (ProcessorParameters != null) { builder.AddInternalTopic(RepartitionTopic, NumberOfPartition); builder.AddProcessor(ProcessorParameters.ProcessorName, ProcessorParameters.Processor, ParentNodeNames()); builder.AddSinkOperator( new StaticTopicNameExtractor <K, V>(RepartitionTopic), SinkName, Produced <K, V> .Create(KeySerdes, ValueSerdes).WithPartitioner(StreamPartitioner), ProcessorParameters.ProcessorName); builder.AddSourceOperator( RepartitionTopic, SourceName, new ConsumedInternal <K, V>(SourceName, KeySerdes, ValueSerdes, new FailOnInvalidTimestamp())); } else { builder.AddInternalTopic(RepartitionTopic, NumberOfPartition); builder.AddSinkOperator( new StaticTopicNameExtractor <K, V>(RepartitionTopic), SinkName, Produced <K, V> .Create(KeySerdes, ValueSerdes).WithPartitioner(StreamPartitioner), ParentNodeNames()); builder.AddSourceOperator( RepartitionTopic, SourceName, new ConsumedInternal <K, V>(SourceName, KeySerdes, ValueSerdes, new FailOnInvalidTimestamp())); } }
public bool Add(ProductMasterItem item, ref double count) { bool added = false; double numToAdd = count; if (!IsFull()) { // get the number that can be added. double hoursAvailable = GetAvailableHours(); double maxUnitsToMake = hoursAvailable * item.UnitsPerHour; // clamp numToAdd = numToAdd > maxUnitsToMake ? maxUnitsToMake : numToAdd; PressMasterItem pressItem = Produced.FirstOrDefault(p => p.MasterItem == item); if (pressItem == null) { Produced.Add(new PressMasterItem(item, numToAdd)); } else { pressItem.UnitsMade += numToAdd; } RaisePropertyChangedEvent("Produced"); count -= numToAdd; added = true; } return(added); }
public void LoanDisbursedFundsEventRaised() { var actual = (LoanDisbursedFundsEvent)Produced.Single(); Assert.Equal(_transactionDate, actual.TransactionDate); Assert.Equal(-_loanAmount, actual.Amount); }
public void Order(SandwichKind kind, int count) { var sandwiches = new List <Sandwich>(); for (int i = 0; i < count; i++) { sandwiches.Add(Produce(kind)); } _warehouse.AddRange(sandwiches); Produced?.Invoke(sandwiches.ToArray()); }
private IEnumerable <Produced> DescribeIngotProduction(IEnumerable <Blueprint> blueprints) { foreach (var blueprint in blueprints) { var produced = new Produced { IngotType = blueprint.Outputs.Single().ItemId, OreType = blueprint.Inputs.Single().ItemId, MeanIngotsPerSecond = blueprint.Outputs.Single().Amount / blueprint.BaseProductionTimeInSeconds, MeanOrePerSecond = blueprint.Inputs.Single().Amount / blueprint.BaseProductionTimeInSeconds }; yield return(produced); } }
public void Remove(ProductMasterItem item, ref double scheduledCount) { PressMasterItem pressItem = Produced.FirstOrDefault(p => p.MasterItem.Equals(item)); if (pressItem != null) { if (scheduledCount >= pressItem.UnitsMade) { Produced.Remove(pressItem); } scheduledCount -= pressItem.UnitsMade; RaisePropertyChangedEvent("Produced"); } }
public void successful_request_message_is_publised() { Assert.That(Produced.ContainsSingle <StorageMessage.RequestCompleted>( x => x.CorrelationId == InternalCorrId && x.Success)); }
internal void AddSinkOperator <K, V>(ITopicNameExtractor <K, V> topicNameExtractor, string nameNode, Produced <K, V> produced, params string[] previousProcessorNames) { if (nodeFactories.ContainsKey(nameNode)) { throw new TopologyException($"Sink processor {nameNode} is already added."); } nodeFactories.Add(nameNode, new SinkNodeFactory <K, V>(nameNode, previousProcessorNames, topicNameExtractor, produced.KeySerdes, produced.ValueSerdes)); nodeGrouper.Add(nameNode); nodeGrouper.Unite(nameNode, previousProcessorNames); nodeGroups = null; }
public void successful_request_message_is_not_published() { Assert.That(!Produced.Any()); }
internal void AddSinkOperator <K, V>(ITopicNameExtractor <K, V> topicNameExtractor, string nameNode, Produced <K, V> produced) { if (!sinkOperators.ContainsKey(nameNode)) { SinkProcessor <K, V> sink = new SinkProcessor <K, V>(nameNode, null, topicNameExtractor, produced.KeySerdes, produced.ValueSerdes); sinkOperators.Add(nameNode, sink); } else { throw new Exception("Sink operator already exist !"); } }
public void no_additional_messages_are_published() { Assert.That(!Produced.Any()); }
private void RaiseProduced(TProduct product) { Produced?.Invoke(this, new ProducedEventArgs <TProduct>(product)); }
public void CommitEvents() { Produced.Clear(); }
protected void Apply(IEvent @event) { Evolve(@event); Produced.Add(@event); }
private IEnumerable<Produced> DescribeIngotProduction(IEnumerable<Blueprint> blueprints) { foreach (var blueprint in blueprints) { var produced = new Produced { IngotType = blueprint.Outputs.Single().ItemId, OreType = blueprint.Inputs.Single().ItemId, MeanIngotsPerSecond = blueprint.Outputs.Single().Amount / blueprint.BaseProductionTimeInSeconds, MeanOrePerSecond = blueprint.Inputs.Single().Amount / blueprint.BaseProductionTimeInSeconds }; yield return produced; } }