Exemple #1
0
        public void RegisterHashSet <T>(IKeyValueSerializer <T> serializer = null)
            where T : class, new()
        {
            serializer ??= new KeyValueSerializer <T>(loggerFactory.CreateLogger <KeyValueSerializer <T> >());
            var serialization = new HashSetSerialization <T>(loggerFactory.CreateLogger <HashSetSerialization <T> >(), serializer);
            var persistency   = new ObjectListSerialization <T>(loggerFactory.CreateLogger <ObjectListSerialization <T> >(), link, serialization, new RedisSet(loggerFactory.CreateLogger <RedisSet>(), link, link.IndexManager), link.IndexManager);

            link.Register(persistency);
        }
Exemple #2
0
        public void RegisterObjectHashSet <T>(IDataSerializer serializer, bool isWellKnown = false)
            where T : class
        {
            if (isWellKnown &&
                RedisValueExtractor.IsPrimitive <T>())
            {
                throw new ArgumentOutOfRangeException(nameof(isWellKnown), "Primitive type can't be well known ");
            }

            var serialization = new ObjectHashSetSerialization <T>(loggerFactory.CreateLogger <ObjectHashSetSerialization <T> >(), serializer, isWellKnown);
            var persistency   = new ObjectListSerialization <T>(loggerFactory.CreateLogger <ObjectListSerialization <T> >(), link, serialization, new RedisSet(loggerFactory.CreateLogger <RedisSet>(), link, link.IndexManager), link.IndexManager);

            link.Register(persistency);
        }
        public void Setup()
        {
            mainIndexManager = new Mock <IMainIndexManager>();
            var configuration = new RedisConfiguration("Test");

            link = new Mock <IRedisLink>();
            link.Setup(item => item.Resilience).Returns(new ResilienceHandler(new NullLogger <ResilienceHandler>(), new ResilienceConfig()));
            var multiplexer = new Mock <IRedisMultiplexer>();

            link.Setup(item => item.Multiplexer).Returns(multiplexer.Object);
            multiplexer.Setup(item => item.Configuration).Returns(configuration);
            redisSetList = new Mock <IRedisSetList>();
            link.Setup(item => item.State).Returns(ChannelState.Open);
            link.Setup(item => item.LinkId).Returns(0);
            objecMock = new Mock <IObjectSerialization <Identity> >();
            database  = new Mock <IDatabaseAsync>();
            key       = new ObjectKey("Test");
            data      = new Identity();
            instance  = new ObjectListSerialization <Identity>(new NullLogger <ObjectListSerialization <Identity> >(), link.Object, objecMock.Object, redisSetList.Object, mainIndexManager.Object);
        }