Beispiel #1
0
        public Producer(
            Guid correlationId,
            Uri serviceUrl,
            string topic,
            ulong initialSequenceId,
            IRegisterEvent registerEvent,
            IProducerChannel initialChannel,
            IExecute executor,
            IStateChanged <ProducerState> state,
            IProducerChannelFactory factory,
            ISchema <TMessage> schema)
        {
            var messageMetadataPolicy = new DefaultPooledObjectPolicy <PulsarApi.MessageMetadata>();

            _messageMetadataPool = new DefaultObjectPool <PulsarApi.MessageMetadata>(messageMetadataPolicy);
            _correlationId       = correlationId;
            ServiceUrl           = serviceUrl;
            Topic          = topic;
            _sequenceId    = new SequenceId(initialSequenceId);
            _eventRegister = registerEvent;
            _channel       = initialChannel;
            _executor      = executor;
            _state         = state;
            _factory       = factory;
            _schema        = schema;
            _isDisposed    = 0;

            _eventRegister.Register(new ProducerCreated(_correlationId));
        }
        public static void Initialize()
        {
            var defaultPolicy = new DefaultPooledObjectPolicy <EntityList>();

            pool          = new DefaultObjectPool <EntityList>(defaultPolicy);
            isInitialized = true;
        }
        public ProducerChannel(ulong id, string name, IConnection connection)
        {
            var sendPackagePolicy = new DefaultPooledObjectPolicy <SendPackage>();

            _sendPackagePool = new DefaultObjectPool <SendPackage>(sendPackagePolicy);
            _id         = id;
            _name       = name;
            _connection = connection;
        }
Beispiel #4
0
        public ProducerChannel(
            ulong id,
            string name,
            IConnection connection,
            ICompressorFactory?compressorFactory,
            byte[]?schemaVersion)
        {
            var sendPackagePolicy = new DefaultPooledObjectPolicy <SendPackage>();

            _sendPackagePool = new DefaultObjectPool <SendPackage>(sendPackagePolicy);
            _id                = id;
            _name              = name;
            _connection        = connection;
            _compressorFactory = compressorFactory;
            _schemaVersion     = schemaVersion;
        }
Beispiel #5
0
        private static void AddServices(IContainer container, IConfiguration configuration)
        {
            // Bind logger with configuration
            container.Register(Made.Of(() => ConfigureLogger(configuration)), Reuse.Singleton);

            // Bind build time stamp class
            container.Register <IBuildTimeStamp, BuildTimeStamp>(Reuse.Singleton);

            // Bind chess classes
            container.Register <IGame, Game>(Reuse.Transient);
            container.Register <IBoard, Board>(Reuse.Singleton);
            // container.Register<IMoveList, MoveList>(Reuse.Transient);
            container.Register <IPosition, Position>(Reuse.Transient);
            container.Register <IKillerMoves, KillerMoves>(Reuse.Transient);
            container.Register <IUci, Uci>(Reuse.Singleton);
            container.Register <IPieceValue, PieceValue>(Reuse.Singleton);

            // Bind options
            container.Register <IOptions, EpdOptions>(Reuse.Singleton, serviceKey: OptionType.EdpOptions);
            container.Register <IOptions, FenOptions>(Reuse.Singleton, serviceKey: OptionType.FenOptions);
            container.Register <IOptions, TTOptions>(Reuse.Singleton, serviceKey: OptionType.TTOptions);

            // Bind chess perft classes
            container.Register <IPerftPosition, PerftPosition>(Reuse.Transient);
            container.Register <IPerft, Perft>(Reuse.Transient);
            container.Register <IPerftRunner, PerftRunner>(Reuse.Transient);

            // Bind perft classes
            container.Register <IEpdParserSettings, EpdParserSettings>(Reuse.Singleton);
            container.Register <IEpdSet, EpdSet>(Reuse.Transient);
            container.Register <IEpdParser, EpdParser>(Reuse.Singleton);

            // Bind object pool for perft result
            container.Register <ObjectPoolProvider, DefaultObjectPoolProvider>(Reuse.Singleton);
            container.RegisterDelegate(context =>
            {
                var provider = context.Resolve <ObjectPoolProvider>();
                var policy   = new DefaultPooledObjectPolicy <PerftResult>();
                return(provider.Create(policy));
            });
        }
Beispiel #6
0
        public Producer(
            Guid correlationId,
            string topic,
            ulong initialSequenceId,
            IRegisterEvent registerEvent,
            IProducerChannel initialChannel,
            IExecute executor,
            IStateChanged <ProducerState> state)
        {
            var messageMetadataPolicy = new DefaultPooledObjectPolicy <PulsarApi.MessageMetadata>();

            _messageMetadataPool = new DefaultObjectPool <PulsarApi.MessageMetadata>(messageMetadataPolicy);
            _correlationId       = correlationId;
            Topic          = topic;
            _sequenceId    = new SequenceId(initialSequenceId);
            _eventRegister = registerEvent;
            _channel       = initialChannel;
            _executor      = executor;
            _state         = state;
            _isDisposed    = 0;

            _eventRegister.Register(new ProducerCreated(_correlationId, this));
        }
Beispiel #7
0
 /// <summary>
 /// Creates an instance of <see cref="InfiniteScaleObjectPool{T}"/>.
 /// </summary>
 public InfiniteScaleObjectPool()
 {
     _policy = new DefaultPooledObjectPolicy <T>();
     _items  = new ConcurrentQueue <T>();
 }
Beispiel #8
0
        protected virtual IPooledObjectPolicy <T> CreatePooledObjectPolicy()
        {
            var defaultPooledObjectPolicy = new DefaultPooledObjectPolicy <T>();

            return(defaultPooledObjectPolicy);
        }
Beispiel #9
0
        static SendExtensions()
        {
            var messageMetadataPolicy = new DefaultPooledObjectPolicy <MessageMetadata>();

            _messageMetadataPool = new DefaultObjectPool <MessageMetadata>(messageMetadataPolicy);
        }
Beispiel #10
0
        protected JT808FormatterPoolBase()
        {
            var jT808FromatterPolicy = new DefaultPooledObjectPolicy <JT808PackageFromatterImpl>();

            jT808FromatterPool = new DefaultObjectPool <JT808PackageFromatterImpl>(jT808FromatterPolicy);
        }