/// <inheritdoc/> public override string ToString() { return(MessagePackFormatter.ToString(new { id = this.Id, })); }
public async Task BasicJsonRpc() { var(clientStream, serverStream) = FullDuplexStream.CreatePair(); var clientFormatter = new MessagePackFormatter(); var serverFormatter = new MessagePackFormatter(); var clientHandler = new LengthHeaderMessageHandler(clientStream.UsePipe(), clientFormatter); var serverHandler = new LengthHeaderMessageHandler(serverStream.UsePipe(), serverFormatter); var clientRpc = new JsonRpc(clientHandler); var serverRpc = new JsonRpc(serverHandler, new Server()); serverRpc.TraceSource = new TraceSource("Server", SourceLevels.Verbose); clientRpc.TraceSource = new TraceSource("Client", SourceLevels.Verbose); serverRpc.TraceSource.Listeners.Add(new XunitTraceListener(this.Logger)); clientRpc.TraceSource.Listeners.Add(new XunitTraceListener(this.Logger)); clientRpc.StartListening(); serverRpc.StartListening(); int result = await clientRpc.InvokeAsync <int>(nameof(Server.Add), 3, 5).WithCancellation(this.TimeoutToken); Assert.Equal(8, result); }
public static ArraySegment <Byte> SerializeToMessagePack <T>(this SerializerBase <T> s, T o) { var f = new MessagePackFormatter(); s.Serialize(o, f); return(f.GetStore().Bytes); }
public static ArraySegment <Byte> ToMessagePack <PARSER>(this PARSER parser) where PARSER : IParser <PARSER> { var formatter = new MessagePackFormatter(); parser.Convert(formatter); return(formatter.GetStore().Bytes); }
public override T Serialize <T>(T value) { var formatter = new MessagePackFormatter(); return(Serialize(m_r , formatter , MessagePackParser.Parse , value)); }
protected override IJsonRpcMessageFormatter CreateFormatter() { Assumes.True(Formatter == Formatters.MessagePack); MessagePackFormatter formatter = base.CreateFormatter() as MessagePackFormatter ?? new MessagePackFormatter(); formatter.SetMessagePackSerializerOptions(MessagePackSerializerOptions); return(formatter); }
/// <inheritdoc/> public override string ToString() { return(MessagePackFormatter.ToString(new { id = this.Id, error = new { code = this.Error?.Code, message = this.Error?.Message, }, })); }
public void PackMultipleTimes() { var formatter = new MessagePackFormatter(); string value1 = new String('A', 65); string value2 = new String('B', 5); byte[] data1 = formatter.Serialize(value1); byte[] data2 = formatter.Serialize(value2); string result1 = formatter.Deserialize <string>(data1); string result2 = formatter.Deserialize <string>(data2); Assert.AreEqual(value1, result1); Assert.AreEqual(value2, result2); }
protected override void InitializeFormattersAndHandlers() { var serverMessageFormatter = new MessagePackFormatter(); var clientMessageFormatter = new MessagePackFormatter(); var options = MessagePackFormatter.DefaultUserDataSerializationOptions .WithResolver(CompositeResolver.Create( new IMessagePackFormatter[] { }, new IFormatterResolver[] { StandardResolverAllowPrivate.Instance })); serverMessageFormatter.SetMessagePackSerializerOptions(options); clientMessageFormatter.SetMessagePackSerializerOptions(options); this.serverMessageHandler = new LengthHeaderMessageHandler(this.serverStream, this.serverStream, serverMessageFormatter); this.clientMessageHandler = new LengthHeaderMessageHandler(this.clientStream, this.clientStream, clientMessageFormatter); }
public static ArraySegment <Byte> SerializeToMessagePackMap <K0, T0, K1, T1>(this TypeRegistry r , K0 key0, T0 value0 , K1 key1, T1 value1 ) { var f = new MessagePackFormatter(); f.BeginMap(2); r.GetSerializer <K0>().Serialize(key0, f); r.GetSerializer <T0>().Serialize(value0, f); r.GetSerializer <K1>().Serialize(key1, f); r.GetSerializer <T1>().Serialize(value1, f); f.EndMap(); return(f.GetStore().Bytes); }
public static bool Equals <TKey>(IDataReader <TKey> reader1, IDataReader <TKey> reader2) { try { using var keys1 = reader1.Keys.GetEnumerator(); using var keys2 = reader2.Keys.GetEnumerator(); Loop: var m1 = keys1.MoveNext(); var m2 = keys2.MoveNext(); if (m1 != m2) { return(false); } if (m1) { var key1 = keys1.Current; var key2 = keys1.Current; var value1 = reader1[key1].DirectRead(); var value2 = reader2[key2].DirectRead(); if (Equals(key1, key2) && Equals(value1, value2)) { goto Loop; } return(false); } return(true); } catch { var obj1 = MessagePackFormatter.DeserializeObject <object>(MessagePackFormatter.SerializeObject(reader1)); var obj2 = MessagePackFormatter.DeserializeObject <object>(MessagePackFormatter.SerializeObject(reader2)); return(Equals(obj1, obj2)); } }
public void nil() { { var w = new MessagePackFormatter();; w.Null(); var bytes = w.GetStore().Bytes; Assert.AreEqual(new Byte[] { 0xC0 }, bytes.ToEnumerable()); var parsed = MessagePackParser.Parse(bytes); Assert.True(parsed.IsNull); } { var bytes = m_r.SerializeToMessagePack((object)null); Assert.AreEqual(new Byte[] { (byte)MsgPackType.NIL }, bytes.ToEnumerable()); var parsed = MessagePackParser.Parse(bytes); Assert.True(parsed.IsNull); } }
public void map16() { var w = new MessagePackFormatter();; int size = 18; w.BeginMap(size); for (int i = 0; i < size; ++i) { w.Value(i); w.Value(i + 5); } var bytes = w.GetStore().Bytes.ToEnumerable().ToArray(); Assert.AreEqual( new Byte[] { 0xde, 0x0, 0x12, 0x0, 0x5, 0x1, 0x6, 0x2, 0x7, 0x3, 0x8, 0x4, 0x9, 0x5, 0xa, 0x6, 0xb, 0x7, 0xc, 0x8, 0xd, 0x9, 0xe, 0xa, 0xf, 0xb, 0x10, 0xc, 0x11, 0xd, 0x12, 0xe, 0x13, 0xf, 0x14, 0x10, 0x15, 0x11, 0x16 }, bytes); var value = MessagePackParser.Parse(bytes); Assert.AreEqual(15, value.GetValueByIntKey(10).GetInt32()); }
public override byte[] Serialize <TObject>(TObject obj) { return(MessagePackFormatter.SerializeObject(obj)); }
public override TObject Deserialize <TObject>(byte[] symbols) { return(MessagePackFormatter.DeserializeObject <TObject>(symbols)); }
public override TObject Deserialize <TObject>(byte[] symbols) { return(MessagePackFormatter.DeserializeObject <TObject>(symbols, MessagePackFormatterOptions.IgnoreNull | MessagePackFormatterOptions.IgnoreZero)); }
private static MessagePackFormatter ConfigureFormatter(MessagePackFormatter formatter) { // See https://github.com/neuecc/messagepack-csharp. formatter.SetMessagePackSerializerOptions(s_options); return(formatter); }