static MessageBenchmark() { var body = new Response("yess!"); Value = (new Message { TargetActivation = ActivationId.NewId(), TargetSilo = SiloAddress.New(IPEndPoint.Parse("210.50.4.44:40902"), 5423123), TargetGrain = GrainId.Create("sys.mygrain", "borken_thee_doggo"), BodyObject = body, InterfaceType = GrainInterfaceType.Create("imygrain"), SendingActivation = ActivationId.NewId(), SendingSilo = SiloAddress.New(IPEndPoint.Parse("10.50.4.44:40902"), 5423123), SendingGrain = GrainId.Create("sys.mygrain", "fluffy_g"), TraceContext = new TraceContext { ActivityId = Guid.NewGuid() }, Id = CorrelationId.GetNext() }).Headers; // var services = new ServiceCollection() .AddSerializer() .BuildServiceProvider(); Serializer = services.GetRequiredService <Serializer <Message.HeadersContainer> >(); var bytes = new byte[4000]; Session = services.GetRequiredService <SerializerSessionPool>().GetSession(); var writer = new SingleSegmentBuffer(bytes).CreateWriter(Session); Serializer.Serialize(Value, ref writer); Input = bytes; }
public void Deserialize(ReadOnlySequence <byte> input, out Message.HeadersContainer value) { try { reader.PartialReset(input); value = (Message.HeadersContainer)Message.HeadersContainer.Deserializer(null, this.deserializationContext); } finally { this.deserializationContext.Reset(); } }
public void Serialize <TBufferWriter>(TBufferWriter output, Message.HeadersContainer value) where TBufferWriter : IBufferWriter <byte> { var streamWriter = this.serializationContext.StreamWriter; if (streamWriter is BinaryTokenStreamWriter2 <TBufferWriter> writer) { writer.PartialReset(output); } else { this.serializationContext.StreamWriter = writer = new BinaryTokenStreamWriter2 <TBufferWriter>(output); } try { Message.HeadersContainer.Serializer(value, this.serializationContext, null); } finally { writer.Commit(); this.serializationContext.Reset(); } }