public Context() { StepDelay = TimeSpan.FromMilliseconds(20); TransactionSource = Substitute.For <ITxSource>(); BlockchainProcessor = Substitute.For <IBlockchainProcessor>(); Sealer = Substitute.For <ISealer>(); BlockTree = Substitute.For <IBlockTree>(); BlockProcessingQueue = Substitute.For <IBlockProcessingQueue>(); StateProvider = Substitute.For <IStateProvider>(); Timestamper = Substitute.For <ITimestamper>(); AuRaStepCalculator = Substitute.For <IAuRaStepCalculator>(); NodeAddress = TestItem.AddressA; TransactionSource.GetTransactions(Arg.Any <BlockHeader>(), Arg.Any <long>()).Returns(Array.Empty <Transaction>()); Sealer.CanSeal(Arg.Any <long>(), Arg.Any <Keccak>()).Returns(true); Sealer.SealBlock(Arg.Any <Block>(), Arg.Any <CancellationToken>()).Returns(c => Task.FromResult(c.Arg <Block>())); Sealer.Address.Returns(TestItem.AddressA); BlockProcessingQueue.IsEmpty.Returns(true); AuRaStepCalculator.TimeToNextStep.Returns(StepDelay); BlockTree.BestKnownNumber.Returns(1); BlockTree.Head.Returns(Build.A.Block.WithHeader(Build.A.BlockHeader.WithAura(10, Array.Empty <byte>()).TestObject).TestObject); BlockchainProcessor.Process(Arg.Any <Block>(), ProcessingOptions.ProducingBlock, Arg.Any <IBlockTracer>()).Returns(returnThis: c => { Block block = c.Arg <Block>(); block.TrySetTransactions(TransactionSource.GetTransactions(BlockTree.Head !.Header, block.GasLimit).ToArray()); return(block); });
public PaintLineManager(CustomForm customForm) { this.customForm = customForm; hopper = new Hopper(this); casePacker = new CasePacker(this); weighStation = new WeighStation(this); fillHead = new FillHead(this); labeller = new Labeller(this); sealer = new Sealer(this); }
public Boolean Start(HostControl _) { Sealer = new Sealer(Bootstrapper.Configuration); Sealer.Seal(); Channel = new SymmetricEncryptedUdpCommunicationChannelReceiver(Bootstrapper.Configuration); Channel.OpenPortRequestReceived += ChannelOpenPortRequestReceived; foreach (var rule in Bootstrapper.Configuration.Rules) { Channel.StartListeningOnPort(rule.UdpPort); } return(true); }
private void ChannelOpenPortRequestReceived(object sender, OpenPortRequestEventArgs e) { var rule = Bootstrapper.Configuration.GetRuleFromTcpPort(e.Request.PortToOpen); if (rule == null) { Log.Error("Received message from unknown port {port} - Check firewall because it should be closed received from ip {ip}", e.Request.PortToOpen, e.Request.IpAddress); return; } Log.Information("Checking udp message in port {port} bound to rule for tcp port {tcpport} received from ip {ip}", e.Request.PortToOpen, rule.TcpPort, e.Request.IpAddress); if (rule.TcpPort != e.Request.PortToOpen) { Log.Error("Received wrong requesto to open port {port} bound to rule for tcp port {tcpport} received from ip {ip}", e.Request.PortToOpen, rule.TcpPort, e.Request.IpAddress); return; } Log.Information("CORRECT! udp message in port {port} bound to rule for tcp port {tcpport} received from ip {ip}", e.Request.PortToOpen, rule.TcpPort, e.Request.IpAddress); Sealer.OpenPortWithTimeout(rule.TcpPort, IPEndPoint.Parse(e.Request.IpAddress), new DateTime(Math.Min(e.Request.EndOpeningDate.Ticks, DateTime.Now.AddHours(4).Ticks))); }