public MessageSerializer( Serializer <object> bodySerializer, SerializerSessionPool sessionPool, SharedMemoryPool memoryPool, IServiceProvider services, Serializer <GrainAddress> activationAddressSerializer, ICodecProvider codecProvider, int maxHeaderSize, int maxBodySize) { _readerSiloAddressCodec = new CachingSiloAddressCodec(); _writerSiloAddressCodec = new CachingSiloAddressCodec(); _readerIdSpanCodec = new CachingIdSpanCodec(); _writerIdSpanCodec = new CachingIdSpanCodec(); _serializer = ActivatorUtilities.CreateInstance <Serializer>(services); _activationAddressCodec = activationAddressSerializer; _serializationSession = sessionPool.GetSession(); _deserializationSession = sessionPool.GetSession(); _memoryPool = memoryPool.Pool; _bodySerializer = bodySerializer; _maxHeaderLength = maxHeaderSize; _maxBodyLength = maxBodySize; _sessionPool = sessionPool; _requestContextCodec = OrleansGeneratedCodeHelper.GetService <DictionaryCodec <string, object> >(this, codecProvider); }
public GeneratedSerializerTests() { _serviceProvider = new ServiceCollection() .AddHagar(hagar => hagar.AddAssembly(typeof(GeneratedSerializerTests).Assembly)) .BuildServiceProvider(); _codecProvider = _serviceProvider.GetRequiredService <ITypedCodecProvider>(); _sessionPool = _serviceProvider.GetRequiredService <SerializerSessionPool>(); }
public GeneratedSerializerTests() { _serviceProvider = new ServiceCollection() .AddSerializer() .BuildServiceProvider(); _codecProvider = _serviceProvider.GetRequiredService <IFieldCodecProvider>(); _sessionPool = _serviceProvider.GetRequiredService <SerializerSessionPool>(); }
public ComplexTypeBenchmarks() { _orleansSerializer = new ClientBuilder() .ConfigureDefaults() .UseLocalhostClustering() .ConfigureServices(s => s.ToList().ForEach(r => { if (r.ServiceType == typeof(IConfigurationValidator)) { _ = s.Remove(r); } })) .Configure <ClusterOptions>(o => o.ClusterId = o.ServiceId = "test") .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(SimpleClass).Assembly).WithCodeGeneration()) .Build().ServiceProvider.GetRequiredService <SerializationManager>(); var services = new ServiceCollection(); _ = services .AddHagar(hagar => hagar.AddISerializableSupport().AddAssembly(typeof(Program).Assembly)); var serviceProvider = services.BuildServiceProvider(); _hagarSerializer = serviceProvider.GetRequiredService <Serializer <ComplexClass> >(); _structSerializer = serviceProvider.GetRequiredService <Serializer <SimpleStruct> >(); _sessionPool = serviceProvider.GetRequiredService <SerializerSessionPool>(); _value = new ComplexClass { BaseInt = 192, Int = 501, String = "bananas", //Array = Enumerable.Range(0, 60).ToArray(), //MultiDimensionalArray = new[,] {{0, 2, 4}, {1, 5, 6}} }; _value.AlsoSelf = _value.BaseSelf = _value.Self = _value; _structValue = new SimpleStruct { Int = 42, Bool = true, Guid = Guid.NewGuid() }; _session = _sessionPool.GetSession(); var writer = HagarBuffer.CreateWriter(_session); _hagarSerializer.Serialize(_value, ref writer); var bytes = new byte[writer.Output.GetMemory().Length]; writer.Output.GetReadOnlySequence().CopyTo(bytes); _hagarBytes = new ReadOnlySequence <byte>(bytes); HagarBuffer.Reset(); var writer2 = new BinaryTokenStreamWriter(); _orleansSerializer.Serialize(_value, writer2); _orleansBytes = writer2.ToBytes(); _readBytesLength = Math.Min(bytes.Length, _orleansBytes.Sum(x => x.Count)); }
public ISerializableTests(ITestOutputHelper log) { var services = new ServiceCollection(); _ = services.AddHagar(hagar => hagar.AddISerializableSupport()); _serviceProvider = services.BuildServiceProvider(); _sessionPool = _serviceProvider.GetService <SerializerSessionPool>(); _serializer = _serviceProvider.GetRequiredService <Serializer <object> >(); _log = log; }
public ISerializableTests(ITestOutputHelper log) { var services = new ServiceCollection(); _ = services.AddSerializer(); services.RemoveAll(typeof(TypeResolver)); services.AddSingleton <TypeResolver>(sp => new BanningTypeResolver(typeof(UnserializableConformingException), typeof(UnserializableNonConformingException))); services.AddSingleton <IGeneralizedCodec, DotNetSerializableCodec>(); _serviceProvider = services.BuildServiceProvider(); _sessionPool = _serviceProvider.GetService <SerializerSessionPool>(); _serializer = _serviceProvider.GetRequiredService <Serializer <object> >(); _log = log; }
protected FieldCodecTester() { var services = new ServiceCollection(); _ = services.AddSerializer(builder => builder.Configure(config => config.FieldCodecs.Add(typeof(TCodec)))); if (!typeof(TCodec).IsAbstract && !typeof(TCodec).IsInterface) { _ = services.AddSingleton <TCodec>(); } _ = services.AddSerializer(Configure); _serviceProvider = services.BuildServiceProvider(); _sessionPool = _serviceProvider.GetService <SerializerSessionPool>(); }
public ConnectionHandler(ConnectionContext connection, ChannelWriter <Message> received, SerializerSessionPool sessionPool, Serializer <Message> messageSerializer) { _connection = connection; var outgoing = Channel.CreateUnbounded <Message>( new UnboundedChannelOptions { SingleReader = true, SingleWriter = false, }); _outgoingWriter = outgoing.Writer; _outgoingReader = outgoing.Reader; _incoming = received; _serializerSessionPool = sessionPool; _messageSerializer = messageSerializer; }
protected FieldCodecTester() { var services = new ServiceCollection(); _ = services.AddHagar(hagar => hagar.Configure(config => config.FieldCodecs.Add(typeof(TCodec)))); if (!typeof(TCodec).IsAbstract && !typeof(TCodec).IsInterface) { _ = services.AddSingleton <TCodec>(); } // ReSharper disable once VirtualMemberCallInConstructor _ = services.AddHagar(Configure); _serviceProvider = services.BuildServiceProvider(); _sessionPool = _serviceProvider.GetService <SerializerSessionPool>(); }
public ISerializableTests(ITestOutputHelper log) { var services = new ServiceCollection(); _ = services.AddSerializer(builder => { builder.Configure(options => { options.AllowedTypes.Add("Orleans.Serialization.UnitTests.ISerializableTests"); options.AllowedTypes.Add("Orleans.Serialization.UnitTests.ISerializableTests+SimpleISerializableObject"); options.AllowedTypes.Add("Orleans.Serialization.UnitTests.ISerializableTests+SimpleISerializableStruct"); }); }); services.RemoveAll(typeof(TypeResolver)); services.AddSingleton <TypeResolver>(sp => new BanningTypeResolver(typeof(UnserializableConformingException), typeof(UnserializableNonConformingException))); services.AddSingleton <IGeneralizedCodec, DotNetSerializableCodec>(); _serviceProvider = services.BuildServiceProvider(); _sessionPool = _serviceProvider.GetService <SerializerSessionPool>(); _serializer = _serviceProvider.GetRequiredService <Serializer <object> >(); _log = log; }
protected BufferTester(IServiceProvider serviceProvider) { _sessionPool = serviceProvider.GetRequiredService <SerializerSessionPool>(); _serializer = serviceProvider.GetRequiredService <Serializer <TValue> >(); }