public void SetUp() { // Create a request object and get the binary representation of it expectedRequest = new Schema.KRPC.Request(); expectedRequest.Calls.Add( new Schema.KRPC.ProcedureCall { Service = "TestService", Procedure = "ProcedureNoArgsNoReturn" }); using (var stream = new MemoryStream()) { expectedRequest.WriteTo(stream); stream.Flush(); requestBytes = stream.ToArray(); } // Create a response object and get the binary representation of it expectedResponseMessage = new Response(); expectedResponseMessage.Error = new Error("SomeErrorMessage", "StackTrace"); expectedResponse = expectedResponseMessage.ToProtobufMessage(); using (var stream = new MemoryStream()) { expectedResponse.WriteTo(stream); stream.Flush(); responseBytes = stream.ToArray(); } }
public static Schema.KRPC.Request ToProtobufMessage (this Request request) { var result = new Schema.KRPC.Request (); result.Service = request.Service; result.Procedure = request.Procedure; result.Arguments.Add (request.Arguments.Select (ToProtobufMessage)); return result; }
public static Schema.KRPC.Request ToProtobufMessage(this Request request) { var result = new Schema.KRPC.Request(); result.Service = request.Service; result.Procedure = request.Procedure; result.Arguments.Add(request.Arguments.Select(ToProtobufMessage)); return(result); }
public static Request ToMessage(this Schema.KRPC.Request request) { var result = new Request(); foreach (var call in request.Calls) { result.Calls.Add(call.ToMessage()); } return(result); }
static object DecodeMessage(CodedInputStream stream, Type type) { if (type == typeof(Request)) { var message = new Schema.KRPC.Request(); message.MergeFrom(stream); return(message.ToMessage()); } throw new ArgumentException("Cannot decode protocol buffer messages of type " + type); }
public void EncodeMessage() { var request = new Schema.KRPC.Request(); request.Service = "ServiceName"; request.Procedure = "ProcedureName"; var data = Encoder.Encode(request, typeof(Schema.KRPC.Request)); const string expected = "0a0b536572766963654e616d65120d50726f6365647572654e616d65"; Assert.AreEqual(expected, data.ToHexString()); }
public static Request ToMessage(this Schema.KRPC.Request request) { var procedureSignature = KRPC.Service.Services.Instance.GetProcedureSignature(request.Service, request.Procedure); var result = new Request(request.Service, request.Procedure); foreach (var argument in request.Arguments) { var type = procedureSignature.Parameters [(int)argument.Position].Type; result.Arguments.Add(argument.ToMessage(type)); } return(result); }
protected override int Read(ref Request request, byte[] data, int offset, int length) { try { Schema.KRPC.Request message = null; var read = Utils.ReadMessage <Schema.KRPC.Request>( ref message, Schema.KRPC.Request.Parser, data, offset, length); if (message != null) { request = message.ToMessage(); } return(read); } catch (InvalidProtocolBufferException e) { throw new MalformedRequestException(e.Message); } }
static object DecodeMessage (CodedInputStream stream, Type type) { if (type == typeof(Request)) { var message = new Schema.KRPC.Request (); message.MergeFrom (stream); return message.ToMessage (); } throw new ArgumentException ("Cannot decode protocol buffer messages of type " + type); }