public class GenericProtobufJsonObjectOutput extends Object implements ObjectOutput
| Constructor and Description |
|---|
GenericProtobufJsonObjectOutput(OutputStream out) |
| Modifier and Type | Method and Description |
|---|---|
void |
flushBuffer()
Flush buffer.
|
void |
writeAttachments(Map<String,Object> attachments)
FIXME, only supports transmission of String values.
|
void |
writeBool(boolean v)
Write boolean.
|
void |
writeByte(byte v)
Write byte.
|
void |
writeBytes(byte[] b)
Write byte array.
|
void |
writeBytes(byte[] b,
int off,
int len)
Write byte array.
|
void |
writeDouble(double v)
Write double.
|
void |
writeEvent(Object data) |
void |
writeFloat(float v)
Write float.
|
void |
writeInt(int v)
Write integer.
|
void |
writeLong(long v)
Write long.
|
void |
writeObject(Object obj)
write object.
|
void |
writeShort(short v)
Write short.
|
void |
writeThrowable(Object th)
The following methods are customized for the requirement of Dubbo's RPC protocol implementation.
|
void |
writeUTF(String v)
Write string.
|
public GenericProtobufJsonObjectOutput(OutputStream out)
public void writeBool(boolean v)
throws IOException
DataOutputwriteBool in interface DataOutputv - value.IOExceptionpublic void writeByte(byte v)
throws IOException
DataOutputwriteByte in interface DataOutputv - value.IOExceptionpublic void writeShort(short v)
throws IOException
DataOutputwriteShort in interface DataOutputv - value.IOExceptionpublic void writeInt(int v)
throws IOException
DataOutputwriteInt in interface DataOutputv - value.IOExceptionpublic void writeLong(long v)
throws IOException
DataOutputwriteLong in interface DataOutputv - value.IOExceptionpublic void writeFloat(float v)
throws IOException
DataOutputwriteFloat in interface DataOutputv - value.IOExceptionpublic void writeDouble(double v)
throws IOException
DataOutputwriteDouble in interface DataOutputv - value.IOExceptionpublic void writeUTF(String v) throws IOException
DataOutputwriteUTF in interface DataOutputv - value.IOExceptionpublic void writeBytes(byte[] b)
throws IOException
DataOutputwriteBytes in interface DataOutputb - value.IOExceptionpublic void writeBytes(byte[] b,
int off,
int len)
throws IOException
DataOutputwriteBytes in interface DataOutputb - value.off - the start offset in the data.len - the number of bytes that are written.IOExceptionpublic void writeObject(Object obj) throws IOException
ObjectOutputwriteObject in interface ObjectOutputobj - object.IOExceptionpublic void writeThrowable(Object th) throws IOException
ObjectOutputSee how ProtobufSerialization, KryoSerialization implemented these methods for more details.
The binding of RPC protocol and biz serialization protocol is not a good practice. Encoding of RPC protocol should be highly independent and portable, easy to cross platforms and languages, for example, like the http headers, restricting the content of headers / attachments to Ascii strings and uses ISO_8859_1 to encode them. https://tools.ietf.org/html/rfc7540#section-8.1.2
writeThrowable in interface ObjectOutputIOExceptionpublic void writeEvent(Object data) throws IOException
writeEvent in interface ObjectOutputIOExceptionpublic void writeAttachments(Map<String,Object> attachments) throws IOException
writeAttachments in interface ObjectOutputattachments - IOExceptionpublic void flushBuffer()
DataOutputflushBuffer in interface DataOutputCopyright © 2011–2020 The Apache Software Foundation. All rights reserved.