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); }
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); }