Exemplo n.º 1
0
        public bool DeserializeElement(TWXmlNode node, Type type, out object value, IInternalSerializer s)
        {
            if (type == typeof(Vector3[]))
            {
                var floats = XMLSerializer.ReadFloatArray(node);
                var array  = new Vector3[floats.Length / 3];

                for (int i = 0; i < array.Length; i++)
                {
                    array[i] = new Vector3(floats[i * 3 + 0], floats[i * 3 + 1], floats[i * 3 + 2]);
                }
                value = array;
                return(true);
            }
            if (type == typeof(Vector2[]))
            {
                var floats = XMLSerializer.ReadFloatArray(node);
                var array  = new Vector2[floats.Length / 2];

                for (int i = 0; i < array.Length; i++)
                {
                    array[i] = new Vector2(floats[i * 2 + 0], floats[i * 2 + 1]);
                }
                value = array;
                return(true);
            }
            if (type == typeof(int[]))
            {
                value = XMLSerializer.ReadIntArray(node);
                return(true);
            }
            value = null;
            return(false);
        }
Exemplo n.º 2
0
        public OptionsSerialization(ISqlServerMessageQueueTransportOptionsFactory options,
                                    IInternalSerializer serializer)
        {
            Guard.NotNull(() => options, options);
            Guard.NotNull(() => serializer, serializer);

            _serializer = serializer;
            _options    = new Lazy <SqlServerMessageQueueTransportOptions>(options.Create);
        }
Exemplo n.º 3
0
 /// <inheritdoc />
 /// <summary>
 /// Initializes a new instance of the <see cref="QueueStatusProvider" /> class.
 /// </summary>
 /// <param name="connectionInformation">The connection information.</param>
 /// <param name="getTimeFactory">The get time factory.</param>
 /// <param name="optionsFactory">The options factory.</param>
 /// <param name="serializer">The serializer.</param>
 /// <param name="queries">The queries.</param>
 public QueueStatusProvider(IConnectionInformation connectionInformation,
                            IGetTimeFactory getTimeFactory,
                            ITransportOptionsFactory optionsFactory,
                            IInternalSerializer serializer,
                            QueueStatusQueries queries) : base(connectionInformation, getTimeFactory)
 {
     _serializer = serializer;
     _queries    = queries;
     _options    = new Lazy <ITransportOptions>(optionsFactory.Create);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="PostgreSqlQueueStatusProvider" /> class.
 /// </summary>
 /// <param name="connectionInformation">The connection information.</param>
 /// <param name="getTimeFactory">The get time factory.</param>
 /// <param name="optionsFactory">The options factory.</param>
 /// <param name="serializer">The serializer.</param>
 /// <param name="queries">The queries.</param>
 public PostgreSqlQueueStatusProvider(IConnectionInformation connectionInformation,
     IGetTimeFactory getTimeFactory,
     IPostgreSqlMessageQueueTransportOptionsFactory optionsFactory,
     IInternalSerializer serializer, 
     PostgreSqlMessageQueueStatusQueries queries) : base(connectionInformation, getTimeFactory)
 {
     _serializer = serializer;
     _queries = queries;
     _options = new Lazy<PostgreSqlMessageQueueTransportOptions>(optionsFactory.Create);
 }
Exemplo n.º 5
0
            public bool SerializeElement(TWXmlNode node, Type type, object value, IInternalSerializer s)
            {
                if (type != typeof(SimpleClass))
                {
                    return(false);
                }

                node.Value = "SimpleClass!!";

                return(true);
            }
Exemplo n.º 6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SaveMetaDataCommandHandler" /> class.
        /// </summary>
        /// <param name="connection">The connection.</param>
        /// <param name="redisNames">The redis names.</param>
        /// <param name="internalSerializer">The internal serializer.</param>
        public SaveMetaDataCommandHandler(IRedisConnection connection,
                                          RedisNames redisNames,
                                          IInternalSerializer internalSerializer)
        {
            Guard.NotNull(() => connection, connection);
            Guard.NotNull(() => redisNames, redisNames);
            Guard.NotNull(() => internalSerializer, internalSerializer);

            _redisNames         = redisNames;
            _internalSerializer = internalSerializer;
            _connection         = connection;
        }
Exemplo n.º 7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QueueStatusHttp"/> class.
 /// </summary>
 /// <param name="configuration">The configuration.</param>
 /// <param name="additionalConfiguration">The additional configuration.</param>
 /// <param name="serializer">The serializer.</param>
 /// <param name="log">The log.</param>
 public QueueStatusHttp(
     QueueStatusHttpConfiguration configuration,
     IConfiguration additionalConfiguration,
     IInternalSerializer serializer,
     ILogFactory log)
 {
     _log = log.Create();
     _configuration = configuration;
     _serializer = serializer;
     Configuration = additionalConfiguration;
     _queueStatusProviders = new ConcurrentBag<IQueueStatusProvider>();
     Configuration.SetSetting("QueueStatusHttpConfiguration", _configuration);
 }
Exemplo n.º 8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QueueStatusHttp"/> class.
 /// </summary>
 /// <param name="configuration">The configuration.</param>
 /// <param name="additionalConfiguration">The additional configuration.</param>
 /// <param name="serializer">The serializer.</param>
 /// <param name="log">The log.</param>
 public QueueStatusHttp(
     QueueStatusHttpConfiguration configuration,
     IConfiguration additionalConfiguration,
     IInternalSerializer serializer,
     ILogFactory log)
 {
     _log                  = log.Create();
     _configuration        = configuration;
     _serializer           = serializer;
     Configuration         = additionalConfiguration;
     _queueStatusProviders = new ConcurrentBag <IQueueStatusProvider>();
     Configuration.SetSetting("QueueStatusHttpConfiguration", _configuration);
 }
Exemplo n.º 9
0
        /// <summary>
        /// Initializes a new instance of the <see cref="InternalSerializerDecorator" /> class.
        /// </summary>
        /// <param name="metrics">The metrics factory.</param>
        /// <param name="handler">The handler.</param>
        /// <param name="connectionInformation">The connection information.</param>
        public InternalSerializerDecorator(IMetrics metrics,
                                           IInternalSerializer handler,
                                           IConnectionInformation connectionInformation)
        {
            var name = "InternalSerializer";

            _bytesToMessageTimer  = metrics.Timer($"{connectionInformation.QueueName}.{name}.ConvertBytesToTimer", Units.Calls);
            _messageToBytesTimer  = metrics.Timer($"{connectionInformation.QueueName}.{name}.ConvertToBytesTimer", Units.Calls);
            _messageToStringTimer = metrics.Timer($"{connectionInformation.QueueName}.{name}.ConvertToStringTimer", Units.Calls);
            _resultSizeHistogram  = metrics.Histogram($"{connectionInformation.QueueName}.{name}.ConvertToBytesHistogram", Units.Bytes,
                                                      SamplingTypes.LongTerm);
            _resultSizeStringHistogram = metrics.Histogram($"{connectionInformation.QueueName}.{name}.ConvertToStringHistogram", Units.Bytes,
                                                           SamplingTypes.LongTerm);
            _handler = handler;
        }
Exemplo n.º 10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CreateQueueTablesAndSaveConfigurationCommandHandler"/> class.
        /// </summary>
        /// <param name="connectionInformation">The connection information.</param>
        /// <param name="optionsFactory">The options factory.</param>
        /// <param name="tableNameHelper">The table name helper.</param>
        /// <param name="serializer">The serializer.</param>
        public CreateQueueTablesAndSaveConfigurationCommandHandler(LiteDbConnectionManager connectionInformation,
                                                                   ILiteDbMessageQueueTransportOptionsFactory optionsFactory,
                                                                   TableNameHelper tableNameHelper,
                                                                   IInternalSerializer serializer)
        {
            Guard.NotNull(() => optionsFactory, optionsFactory);
            Guard.NotNull(() => connectionInformation, connectionInformation);
            Guard.NotNull(() => tableNameHelper, tableNameHelper);
            Guard.NotNull(() => serializer, serializer);

            _options = new Lazy <LiteDbMessageQueueTransportOptions>(optionsFactory.Create);
            _connectionInformation = connectionInformation;
            _tableNameHelper       = tableNameHelper;
            _serializer            = serializer;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="GetQueueOptionsQueryHandler{TTransportOptions}" /> class.
        /// </summary>
        /// <param name="serializer">The serializer.</param>
        /// <param name="tableExists">The table exists.</param>
        /// <param name="connectionInformation">The connection information.</param>
        /// <param name="tableNameHelper">The table name helper.</param>
        public GetQueueOptionsQueryHandler(IInternalSerializer serializer,
                                           IQueryHandler <GetTableExistsQuery, bool> tableExists,
                                           LiteDbConnectionManager connectionInformation,
                                           TableNameHelper tableNameHelper)
        {
            Guard.NotNull(() => serializer, serializer);
            Guard.NotNull(() => tableExists, tableExists);
            Guard.NotNull(() => connectionInformation, connectionInformation);
            Guard.NotNull(() => tableNameHelper, tableNameHelper);

            _serializer            = serializer;
            _tableExists           = tableExists;
            _connectionInformation = connectionInformation;
            _tableNameHelper       = tableNameHelper;
        }
        private IQueueStatus Create()
        {
            var fixture = new Fixture().Customize(new AutoNSubstituteCustomization());
            IInternalSerializer serializer = fixture.Create <JsonSerializerInternal>();

            fixture.Inject(serializer);
            var configuration = fixture.Create <QueueStatusHttpConfiguration>();

            configuration.ListenerAddress = new Uri("http://localhost:9898");
            fixture.Inject(configuration);

            IConfiguration additional = fixture.Create <AdditionalConfiguration>();

            additional.SetSetting("QueueStatusHttpConfiguration", configuration);
            fixture.Inject(additional);

            return(fixture.Create <QueueStatusHttp>());
        }
Exemplo n.º 13
0
        public bool SerializeElement(TWXmlNode node, Type type, object value, IInternalSerializer s)
        {
            if (type == typeof(Vector3[]))
            {
                var array  = (Vector3[])value;
                var floats = new float[array.Length * 3];
                for (int i = 0; i < array.Length; i++)
                {
                    floats[i * 3 + 0] = array[i].X;
                    floats[i * 3 + 1] = array[i].Y;
                    floats[i * 3 + 2] = array[i].Z;
                }
                XMLSerializer.WriteFloatArray(node, floats);
                return(true);
            }
            if (type == typeof(Vector2[]))
            {
                var array  = (Vector2[])value;
                var floats = new float[array.Length * 2];
                for (int i = 0; i < array.Length; i++)
                {
                    floats[i * 2 + 0] = array[i].X;
                    floats[i * 2 + 1] = array[i].Y;
                }
                XMLSerializer.WriteFloatArray(node, floats);
                return(true);
            }
            if (type == typeof(int[]))
            {
                var array = (int[])value;
                XMLSerializer.WriteIntArray(node, array);
                return(true);
            }


            return(false);
        }
Exemplo n.º 14
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GetQueueOptionsQueryHandler{TTransportOptions}" /> class.
        /// </summary>
        /// <param name="serializer">The serializer.</param>
        /// <param name="tableExists">The table exists.</param>
        /// <param name="connectionInformation">The connection information.</param>
        /// <param name="prepareQuery">The prepare query.</param>
        /// <param name="tableNameHelper">The table name helper.</param>
        /// <param name="dbConnectionFactory">The database connection factory.</param>
        /// <param name="readColumn">The read column.</param>
        public GetQueueOptionsQueryHandler(IInternalSerializer serializer,
                                           IQueryHandler <GetTableExistsQuery, bool> tableExists,
                                           IConnectionInformation connectionInformation,
                                           IPrepareQueryHandler <GetQueueOptionsQuery <TTransportOptions>, TTransportOptions> prepareQuery,
                                           ITableNameHelper tableNameHelper,
                                           IDbConnectionFactory dbConnectionFactory,
                                           IReadColumn readColumn)
        {
            Guard.NotNull(() => serializer, serializer);
            Guard.NotNull(() => tableExists, tableExists);
            Guard.NotNull(() => prepareQuery, prepareQuery);
            Guard.NotNull(() => connectionInformation, connectionInformation);
            Guard.NotNull(() => tableNameHelper, tableNameHelper);
            Guard.NotNull(() => dbConnectionFactory, dbConnectionFactory);
            Guard.NotNull(() => readColumn, readColumn);

            _serializer            = serializer;
            _tableExists           = tableExists;
            _connectionInformation = connectionInformation;
            _prepareQuery          = prepareQuery;
            _tableNameHelper       = tableNameHelper;
            _dbConnectionFactory   = dbConnectionFactory;
            _readColumn            = readColumn;
        }
Exemplo n.º 15
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CompositeSerialization"/> class.
 /// </summary>
 /// <param name="internalSerializer">The internal serializer.</param>
 /// <param name="serializer">The serializer.</param>
 public CompositeSerialization(IInternalSerializer internalSerializer,
                               ASerializer serializer)
 {
     InternalSerializer = internalSerializer;
     Serializer         = serializer;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CompositeSerialization"/> class.
 /// </summary>
 /// <param name="internalSerializer">The internal serializer.</param>
 /// <param name="serializer">The serializer.</param>
 public CompositeSerialization(IInternalSerializer internalSerializer,
     ASerializer serializer)
 {
     InternalSerializer = internalSerializer;
     Serializer = serializer;
 }
Exemplo n.º 17
0
            public bool DeserializeElement(TWXmlNode node, Type type, out object value, IInternalSerializer s)
            {
                value = null;
                if (type != typeof(SimpleClass))
                {
                    return(false);
                }
                if (node.Value != "SimpleClass!!")
                {
                    throw new InvalidOperationException("This xml is invalid!");
                }

                value = new SimpleClass();

                return(true);
            }