Exemplo n.º 1
0
        private Func<RogerEndpoint, IBasicProperties> CreatePropertiesFactory(IModel model,
            IIdGenerator idGenerator,
            IMessageTypeResolver messageTypeResolver,
            IMessageSerializer serializer,
            ISequenceGenerator sequenceGenerator)
        {
            var properties = model.CreateBasicProperties();

            properties.MessageId = idGenerator.Next();
            properties.Type = messageTypeResolver.Unresolve(messageType);
            properties.ContentType = serializer.ContentType;

            properties.Headers = new Hashtable
            {
                {Headers.Sequence, BitConverter.GetBytes(sequenceGenerator.Next(messageType))}
            };

            if (persistent)
                properties.DeliveryMode = 2;

            FillAdditionalProperties(properties, idGenerator);

            return endpoint =>
            {
                properties.ReplyTo = endpoint;
                return properties;
            };
        }
Exemplo n.º 2
0
 public IDelivery Create(IModel model,
                         IIdGenerator idGenerator,
                         IMessageTypeResolver messageTypeResolver,
                         IMessageSerializer serializer,
                         ISequenceGenerator sequenceGenerator)
 {
     return inner;
 }
Exemplo n.º 3
0
 public ReceiverStmContext(ILink link, IChecksum cheksum, ISequenceGenerator sequenceGenerator,
     int maxMessageDataSize)
 {
     _message = new Message(maxMessageDataSize);
     _reply = new Message(0);
     _link = link;
     _sequence = sequenceGenerator;
     _checksum = cheksum;
     SetState(new MissingSync());
 }
Exemplo n.º 4
0
        public SenderStmContext(ILink link, IChecksum checksum, ISequenceGenerator sequenceGenerator, int maxMessageDataSize, int timeoutModifier)
        {
            _checksum = checksum;

            _timeout = link.Timeout * timeoutModifier;

            _timer = new Timer(MessageTimeout);

            _link = link;

            _maxMessageDataSize = maxMessageDataSize;
            _message = new Message(_maxMessageDataSize);
            _reply = new Message(0);

            _sequence = sequenceGenerator;

            SetState(new Sending());
        }
Exemplo n.º 5
0
        private SequenceGenerator()
        {
            try
            {
                if (AppRuntime.Instance.CurrentApp == null)
                {
                    throw new EagleAppException("The application has not been initialized and started yet.");
                }

                if (AppRuntime.Instance.CurrentApp.ConfigSource == null ||
                    AppRuntime.Instance.CurrentApp.ConfigSource.Config == null ||
                    AppRuntime.Instance.CurrentApp.ConfigSource.Config.Generators == null ||
                    AppRuntime.Instance.CurrentApp.ConfigSource.Config.Generators.SequenceGenerator == null ||
                    string.IsNullOrEmpty(AppRuntime.Instance.CurrentApp.ConfigSource.Config.Generators.SequenceGenerator.Provider))
                {
                    generator = new SequentialIdentityGenerator();
                }
                else
                {
                    Type type = Type.GetType(AppRuntime.Instance.CurrentApp.ConfigSource.Config.Generators.SequenceGenerator.Provider);

                    if (type == null)
                    {
                        throw new ConfigException(string.Format("Unable to create the type from the name {0}.", AppRuntime.Instance.CurrentApp.ConfigSource.Config.Generators.SequenceGenerator.Provider));
                    }

                    if (type.Equals(this.GetType()))
                    {
                        throw new EagleAppException("Type {0} cannot be used as sequence generator, it is maintained by the Eagle framework internally.", this.GetType().AssemblyQualifiedName);
                    }

                    generator = (ISequenceGenerator)Activator.CreateInstance(type);
                }
            }
            catch (ConfigurationErrorsException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new EagleAppException();
            }
        }
Exemplo n.º 6
0
        public SecureClient(ILoggerFactory loggerFactory, ISerializer serializer, IOrderingService orderingService,
                            CancellationToken cancellationToken, ISendIdempotencyService <Guid, Packet> sendIdempotencyService,
                            IReceiveIdempotencyService <string> receiveIdempotencyService, ISequenceGenerator delaySequenceGenerator,
                            int millisecondsIntervalForPacketResend, ServerCertificateValidationCallback serverCertificateValidationCallback, SslProtocols sslProtocols,
                            X509CertificateCollection clientCertificateCollection, int keepAliveTimeOut,
                            int maximumNumberOfKeepAliveMisses, int keepAliveResponseTimeOut)
        {
            this.serverCertificateValidationCallback = serverCertificateValidationCallback;
            this.sslProtocols = sslProtocols;
            this.clientCertificateCollection = clientCertificateCollection;

            Init(loggerFactory, serializer, orderingService, cancellationToken,
                 sendIdempotencyService, receiveIdempotencyService, delaySequenceGenerator,
                 millisecondsIntervalForPacketResend, keepAliveTimeOut, maximumNumberOfKeepAliveMisses, keepAliveResponseTimeOut);
        }
 public void Setup()
 {
     _sequenceGenerator         = Substitute.For <ISequenceGenerator>();
     _sequenceCalculatorService = new SequenceCalculatorService(_sequenceGenerator);
 }
Exemplo n.º 8
0
 public EmailService(MerlinWriteContext writeContext, ISequenceGenerator sequenceGenerator)
 {
     this.writeContext      = writeContext;
     this.sequenceGenerator = sequenceGenerator;
 }
 public RandomizeForce(ISequenceGenerator generator)
 {
     Generator = generator;
 }
Exemplo n.º 10
0
 public AccountRepository(PeopleDbContext dbContext, IMediator mediator, ISequenceGenerator generator)
 {
     _dbContext = dbContext;
     _mediator  = mediator;
     _generator = generator;
 }
 public StatsDataGenerator(ISequenceGenerator generator)
 {
     Generator = generator;
 }
Exemplo n.º 12
0
 /// <summary>
 /// IOC injection by constructor
 /// </summary>
 /// <param name="sequenceGenerator"></param>
 public SequenceController(ISequenceGenerator sequenceGenerator)
 {
     SequenceGenerator = sequenceGenerator;
 }
Exemplo n.º 13
0
        public SecureServer(ILoggerFactory loggerFactory, ISerializer serializer, IOrderingService orderingService,
                            CancellationToken cancellationToken, ISendIdempotencyService <Guid, Packet> sendIdempotencyService,
                            IReceiveIdempotencyService <string> receiveIdempotencyService, ISequenceGenerator delaySequenceGenerator,
                            int millisecondsIntervalForPacketResend, X509Certificate serverCertificate, bool clientCertificateRequired,
                            SslProtocols sslProtocols, ClientCertificateValidationCallback clientCertificateValidationCallback, int keepAliveTimeOut,
                            int maximumNumberOfKeepAliveMisses, int keepAliveResponseTimeOut)
        {
            Init(loggerFactory, serializer, orderingService,
                 sendIdempotencyService, receiveIdempotencyService,
                 delaySequenceGenerator, millisecondsIntervalForPacketResend, cancellationToken, keepAliveTimeOut,
                 maximumNumberOfKeepAliveMisses, keepAliveResponseTimeOut);
            this.serverCertificate         = serverCertificate;
            this.clientCertificateRequired = clientCertificateRequired;
            this.sslProtocols = sslProtocols;
            this.clientCertificateValidationCallback = clientCertificateValidationCallback;

            if (this.loggerFactory != null)
            {
                logger = this.loggerFactory.CreateLogger <SecureServer>();
            }
        }
Exemplo n.º 14
0
 public DefaultColumn(string attributeName, string columnName, bool key, bool nullable, ColumnType type,
                      int size, bool readFromSequence, ISequenceGenerator generator)
     : base(attributeName, columnName, key, nullable, type, size, readFromSequence, generator)
 {
 }
Exemplo n.º 15
0
 public QuestionService(MerlinWriteContext writeContext, IConfiguration config, ISequenceGenerator sequenceGenerator)
 {
     this.writeContext      = writeContext;
     this.config            = config;
     this.sequenceGenerator = sequenceGenerator;
 }
Exemplo n.º 16
0
        public IDelivery Create(IModel model, IIdGenerator idGenerator, IMessageTypeResolver messageTypeResolver, IMessageSerializer serializer, ISequenceGenerator sequenceGenerator)
        {
            var createProperties = CreatePropertiesFactory(model, idGenerator, messageTypeResolver, serializer, sequenceGenerator);

            return(CreateCore(createProperties));
        }
 public InsecureServerBuilder WithSequenceGenerator(ISequenceGenerator delaySequenceGenerator)
 {
     this.delaySequenceGenerator = delaySequenceGenerator;
     return(this);
 }
Exemplo n.º 18
0
 public StatisticsCreator(ISequenceGenerator sequenceGenerator)
 {
     _sequenceGenerator = sequenceGenerator;
 }
Exemplo n.º 19
0
 public PhysicsDataGenerator(ISequenceGenerator generator)
 {
     Generator = generator;
 }
Exemplo n.º 20
0
 protected AbstractColumn(String attributeName, string columnName, bool key, ColumnType type,
                          bool readFromSequence, ISequenceGenerator generator)
     : this(attributeName, columnName, key, false, type, 20, readFromSequence, generator)
 {
 }
Exemplo n.º 21
0
 private SequenceGenerator()
 {
     this.generator = new SequentialIdentityGenerator();
 }
Exemplo n.º 22
0
        public InsecureServer(ILoggerFactory loggerFactory, ISerializer serializer, IOrderingService orderingService,
                              CancellationToken cancellationToken, ISendIdempotencyService <Guid, Packet> sendIdempotencyService,
                              IReceiveIdempotencyService <string> receiveIdempotencyService, ISequenceGenerator delaySequenceGenerator,
                              int millisecondsIntervalForPacketResend, int keepAliveTimeOut,
                              int maximumNumberOfKeepAliveMisses, int keepAliveResponseTimeOut)
        {
            Init(loggerFactory, serializer, orderingService,
                 sendIdempotencyService, receiveIdempotencyService,
                 delaySequenceGenerator, millisecondsIntervalForPacketResend, cancellationToken, keepAliveTimeOut,
                 maximumNumberOfKeepAliveMisses, keepAliveResponseTimeOut);

            if (this.loggerFactory != null)
            {
                logger = this.loggerFactory.CreateLogger <InsecureServer>();
            }
        }
Exemplo n.º 23
0
        protected void Init(ILoggerFactory loggerFactory, ISerializer serializer, IOrderingService orderingService,
                            CancellationToken cancellationToken, ISendIdempotencyService <Guid, Packet> sendIdempotencyService,
                            IReceiveIdempotencyService <string> receiveIdempotencyService, ISequenceGenerator delaySequenceGenerator,
                            int millisecondsIntervalForPacketResend, int keepAliveTimeOut,
                            int maximumNumberOfKeepAliveMisses, int keepAliveResponseTimeOut)
        {
            id            = Guid.NewGuid().ToString();
            LoggerFactory = loggerFactory;
            this.sendIdempotencyService    = sendIdempotencyService;
            this.receiveIdempotencyService = receiveIdempotencyService;
            CancellationToken = cancellationToken;
            this.millisecondsIntervalForPacketResend = millisecondsIntervalForPacketResend;
            this.serializer                     = serializer;
            this.orderingService                = orderingService;
            this.delaySequenceGenerator         = delaySequenceGenerator;
            this.keepAliveResponseTimeOut       = keepAliveResponseTimeOut;
            this.keepAliveTimeOut               = keepAliveTimeOut;
            this.maximumNumberOfKeepAliveMisses = maximumNumberOfKeepAliveMisses;


            CancellationToken.Register(() => Cancel());

            if (LoggerFactory != null)
            {
                logger = loggerFactory.CreateLogger(GetType());
            }
        }
Exemplo n.º 24
0
 public ChangeTracking(ISequenceGenerator sequenceGenerator = null)
 {
     this.SequenceGenerator = sequenceGenerator ?? new DefaultSequenceGenerator();
 }
Exemplo n.º 25
0
        public static void Parse(
            string[] args,
            out ISequenceGenerator sequenceGenerator,
            out int boundaryValue,
            out int?startValue)
        {
            if (args.Length < (int)ArgumentsCount.Minimum)
            {
                throw new ArgumentException("You do not have enough arguments! "
                                            + "Please, enter the correct number of arguments!");
            }

            if (args.Length > (int)ArgumentsCount.Maximum)
            {
                throw new ArgumentException("You have too many arguments! "
                                            + "Please, enter the correct number of arguments!");
            }

            string sequenceGeneratorType = args[0].ToLower();

            switch (sequenceGeneratorType)
            {
            case "fibonacci":
                sequenceGenerator = new FibonacciSequenceGenerator();
                break;

            case "squarelessn":
                sequenceGenerator = new SquareLessNSequenceGenerator();
                break;

            default:
                throw new ArgumentException("Please, enter correct algorithm "
                                            + "for searching the sequence");
            }

            if (!int.TryParse(args[1], out boundaryValue))
            {
                throw new ArgumentException("The second argument is not a number or is a too big number!");
            }

            startValue = null;
            if (args.Length == (int)ArgumentsCount.Maximum)
            {
                int thirdArgument;
                if (!int.TryParse(args[2], out thirdArgument))
                {
                    throw new ArgumentException("The third argument is not a number!");
                }
                else
                {
                    startValue = thirdArgument;
                    if (startValue - boundaryValue > 0)
                    {
                        throw new ArgumentException("The third argument (boundary value) can not be "
                                                    + "bigger than second (start value)! Please, check your arguments!");
                    }

                    if (startValue < 0 || boundaryValue < 0)
                    {
                        throw new ArgumentException("Arguments can not be negative!");
                    }
                }
            }
        }
Exemplo n.º 26
0
 internal TrackedEntity(Type entityType, ISequenceGenerator sequenceGenerator, string keyName)
 {
     this.EntityType        = entityType;
     this.sequenceGenerator = sequenceGenerator;
     this.KeyName           = keyName;
 }
 public ClassUnderTest(ISomeInterface dep, ISequenceGenerator generator)
 {
     _dep       = dep;
     _generator = generator;
 }
Exemplo n.º 28
0
 private SequenceGenerator()
 {
     this.generator = new SequentialIdentityGenerator();
 }
Exemplo n.º 29
0
 public SequenceCalculatorService(ISequenceGenerator sequenceGenerator)
 {
     _sequenceGenerator = sequenceGenerator;
 }
Exemplo n.º 30
0
        public IDelivery Create(IModel model, IIdGenerator idGenerator, IMessageTypeResolver messageTypeResolver, IMessageSerializer serializer, ISequenceGenerator sequenceGenerator)
        {
            var createProperties = CreatePropertiesFactory(model, idGenerator, messageTypeResolver, serializer, sequenceGenerator);

            return CreateCore(createProperties);
        }
Exemplo n.º 31
0
 public AccountRepository(IDbContextProvider <AccountManageDbContext> dbContextProvider, ISequenceGenerator sequenceGenerator)
     : base(dbContextProvider)
 {
     _sequenceGenerator = sequenceGenerator;
 }
Exemplo n.º 32
0
 public SecureClientBuilder WithSequenceGenerator(ISequenceGenerator delaySequenceGenerator)
 {
     this.delaySequenceGenerator = delaySequenceGenerator;
     return(this);
 }
Exemplo n.º 33
0
 internal SecureClient(TlsNetworkTransport tlsNetworkTransport, ILoggerFactory loggerFactory, ISerializer serializer, IOrderingService orderingService,
                       CancellationToken cancellationToken, ISendIdempotencyService <Guid, Packet> sendIdempotencyService,
                       IReceiveIdempotencyService <string> receiveIdempotencyService, ISequenceGenerator delaySequenceGenerator,
                       int millisecondsIntervalForPacketResend, int keepAliveTimeOut,
                       int maximumNumberOfKeepAliveMisses, int keepAliveResponseTimeOut)
 {
     Init(loggerFactory, serializer, orderingService, cancellationToken,
          sendIdempotencyService, receiveIdempotencyService, delaySequenceGenerator,
          millisecondsIntervalForPacketResend, tlsNetworkTransport, keepAliveTimeOut,
          maximumNumberOfKeepAliveMisses, keepAliveResponseTimeOut);
 }
Exemplo n.º 34
0
        protected void Init(ILoggerFactory loggerFactory, ISerializer serializer,
                            IOrderingService orderingService, ISendIdempotencyService <Guid, Packet> sendIdempotencyService,
                            IReceiveIdempotencyService <string> receiveIdempotencyService, ISequenceGenerator delaySequenceGenerator,
                            int millisecondsIntervalForPacketResend, CancellationToken cancellationToken, int keepAliveTimeOut,
                            int maximumNumberOfKeepAliveMisses, int keepAliveResponseTimeOut)
        {
            Id = Guid.NewGuid().ToString();
            this.loggerFactory                       = loggerFactory;
            this.serializer                          = serializer;
            this.orderingService                     = orderingService;
            this.cancellationToken                   = cancellationToken;
            this.sendIdempotencyService              = sendIdempotencyService;
            this.receiveIdempotencyService           = receiveIdempotencyService;
            this.delaySequenceGenerator              = delaySequenceGenerator;
            this.millisecondsIntervalForPacketResend = millisecondsIntervalForPacketResend;
            this.keepAliveTimeOut                    = keepAliveTimeOut;
            this.maximumNumberOfKeepAliveMisses      = maximumNumberOfKeepAliveMisses;
            this.keepAliveResponseTimeOut            = keepAliveResponseTimeOut;

            clients = new ConcurrentDictionary <string, IClient>();
        }
Exemplo n.º 35
0
 public ConsecutiveSequenceController(ParentTypeFetcher <TObjType> fetchParent,
                                      ISequenceGenerator <TSeqType> generator)
 {
     _fetchParent = fetchParent;
     _generator   = generator;
 }
Exemplo n.º 36
0
 public SequenceController(ISequenceGenerator[] generator)
 {
     _generator = generator;
 }