use of io.protostuff.LinkedBuffer in project java-chassis by ServiceComb.
the class HighwayOutputStream method write.
public void write(WrapSchema headerSchema, Object header, WrapSchema bodySchema, Object body) throws Exception {
// 写protobuf数据
LinkedBuffer linkedBuffer = LinkedBuffer.allocate();
ProtobufOutput output = new ProtobufOutput(linkedBuffer);
// 写header
if (headerSchema != null) {
headerSchema.writeObject(output, header);
}
int headerSize = output.getSize();
// void时bodySchema为null
if (bodySchema != null) {
bodySchema.writeObject(output, body);
}
writeLength(output.getSize(), headerSize);
LinkedBuffer.writeTo(this, linkedBuffer);
}
use of io.protostuff.LinkedBuffer in project java-chassis by ServiceComb.
the class TestHighwayServerConnection method createBuffer.
protected Buffer createBuffer(WrapSchema schema, Object value) throws Exception {
Buffer headerBuffer;
LinkedBuffer linkedBuffer = LinkedBuffer.allocate();
ProtobufOutput output = new ProtobufOutput(linkedBuffer);
schema.writeObject(output, value);
try (BufferOutputStream os = new BufferOutputStream()) {
LinkedBuffer.writeTo(os, linkedBuffer);
headerBuffer = os.getBuffer();
}
return headerBuffer;
}
use of io.protostuff.LinkedBuffer in project java-chassis by ServiceComb.
the class GrpcCodec method encodeRequest.
public static Buffer encodeRequest(Invocation invocation, OperationProtobuf operationProtobuf) throws Exception {
try (BufferOutputStream os = new BufferOutputStream()) {
// 写protobuf数据
LinkedBuffer linkedBuffer = LinkedBuffer.allocate(BUFFER_SIZE);
ProtobufOutput output = new ProtobufOutput(linkedBuffer);
operationProtobuf.getRequestSchema().writeObject(output, invocation.getArgs());
os.write(0);
// protobuf输出到流
LinkedBuffer.writeTo(os, linkedBuffer);
return os.getBuffer();
}
}
use of io.protostuff.LinkedBuffer in project incubator-servicecomb-java-chassis by apache.
the class TestArgsNotWrapSchema method testWriteObject.
@Test
public void testWriteObject() {
boolean status = true;
LinkedBuffer linkedBuffer = LinkedBuffer.allocate();
ProtobufOutput output = new ProtobufOutput(linkedBuffer);
String[] stringArray = new String[1];
try {
argsNotWrapSchema.writeObject(output, stringArray);
} catch (Exception e) {
status = false;
}
Assert.assertTrue(status);
}
use of io.protostuff.LinkedBuffer in project incubator-servicecomb-java-chassis by apache.
the class TestArgsNotWrapSchema method testWriteObjectToSchema.
@Test
public void testWriteObjectToSchema() {
boolean status = true;
LinkedBuffer linkedBuffer = LinkedBuffer.allocate();
ProtobufOutput output = new ProtobufOutput(linkedBuffer);
String[] stringArray = new String[1];
stringArray[0] = "abc";
try {
argsNotWrapSchema.writeObject(output, stringArray);
} catch (Exception e) {
status = false;
}
Assert.assertTrue(status);
}
Aggregations