Class

fm.serializer.protobuf

ProtobufOutputStreamOutput

Related Doc: package protobuf

Permalink

final class ProtobufOutputStreamOutput extends Output

Modified Protocol Buffers Output

The main difference between his and the stock Protocol Buffers Implementation is the handling of repeated fields. In this implementation:

The Stock Implementation:

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProtobufOutputStreamOutput
  2. Output
  3. RawOutput
  4. NestedOutput
  5. FieldOutput
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ProtobufOutputStreamOutput(os: OutputStream)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def allowStringMap: Boolean

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  7. final def encodeZigZag32(n: Int): Int

    Permalink

    Encode a ZigZag-encoded 32-bit value.

    Encode a ZigZag-encoded 32-bit value. ZigZag encodes signed integers into values that can be efficiently encoded with varint. (Otherwise, negative values must be sign-extended to 64 bits to be varint encoded, thus always taking 10 bytes on the wire.)

    n

    A signed 32-bit integer.

    returns

    An unsigned 32-bit integer, stored in a signed int because Java has no explicit unsigned support.

  8. final def encodeZigZag64(n: Long): Long

    Permalink

    Encode a ZigZag-encoded 64-bit value.

    Encode a ZigZag-encoded 64-bit value. ZigZag encodes signed integers into values that can be efficiently encoded with varint. (Otherwise, negative values must be sign-extended to 64 bits to be varint encoded, thus always taking 10 bytes on the wire.)

    n

    A signed 64-bit integer.

    returns

    An unsigned 64-bit integer, stored in a signed int because Java has no explicit unsigned support.

  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  12. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  13. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  16. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  18. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  19. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def writeBoolNoTag(value: Boolean): Unit

    Permalink
  23. final def writeBytesNoTag(value: Array[Byte]): Unit

    Permalink
  24. final def writeDoubleNoTag(value: Double): Unit

    Permalink
  25. final def writeFieldBigDecimal(number: Int, name: String, value: BigDecimal): Unit

    Permalink
  26. final def writeFieldBigInteger(number: Int, name: String, value: BigInteger): Unit

    Permalink
  27. final def writeFieldBool(number: Int, name: String, value: Boolean): Unit

    Permalink
  28. final def writeFieldByteArray(number: Int, name: String, value: Array[Byte]): Unit

    Permalink
  29. final def writeFieldCollection[T](number: Int, name: String, col: T)(f: (NestedOutput, T) ⇒ Unit): Unit

    Permalink
  30. final def writeFieldDouble(number: Int, name: String, value: Double): Unit

    Permalink
  31. final def writeFieldFixedInt(number: Int, name: String, value: Int): Unit

    Permalink
  32. final def writeFieldFixedLong(number: Int, name: String, value: Long): Unit

    Permalink
  33. final def writeFieldFloat(number: Int, name: String, value: Float): Unit

    Permalink
  34. final def writeFieldInt(number: Int, name: String, value: Int): Unit

    Permalink
  35. final def writeFieldLengthDelimitedObject[T](number: Int, name: String, obj: T)(f: (FieldOutput, T) ⇒ Unit): Unit

    Permalink
  36. final def writeFieldLong(number: Int, name: String, value: Long): Unit

    Permalink
  37. def writeFieldNull(number: Int, name: String): Unit

    Permalink
  38. final def writeFieldObject[T](number: Int, name: String, obj: T)(f: (FieldOutput, T) ⇒ Unit): Unit

    Permalink
  39. final def writeFieldSignedInt(number: Int, name: String, value: Int): Unit

    Permalink
  40. final def writeFieldSignedLong(number: Int, name: String, value: Long): Unit

    Permalink
  41. final def writeFieldString(number: Int, name: String, value: String): Unit

    Permalink
  42. final def writeFieldUnsignedInt(number: Int, name: String, value: Int): Unit

    Permalink
  43. final def writeFieldUnsignedLong(number: Int, name: String, value: Long): Unit

    Permalink
  44. final def writeFixed32NoTag(value: Int): Unit

    Permalink
  45. final def writeFixed64NoTag(value: Long): Unit

    Permalink
  46. final def writeFloatNoTag(value: Float): Unit

    Permalink
  47. final def writeInt32NoTag(value: Int): Unit

    Permalink
  48. final def writeInt64NoTag(value: Long): Unit

    Permalink
  49. final def writeLengthDelimited[T](obj: T)(f: (Output, T) ⇒ Unit): Unit

    Permalink
  50. final def writeLengthDelimitedNull(): Unit

    Permalink

    Note: This is a very inefficient way to encode null (it takes 10 bytes!!!) but it should be a very rare case since we have a separate encoding for null fields that will be used the majority of the time.

    Note: This is a very inefficient way to encode null (it takes 10 bytes!!!) but it should be a very rare case since we have a separate encoding for null fields that will be used the majority of the time.

    The only time this should get called is for null values within a collection or nested collection which is hopefully a rare case.

    e.g. List("1","2",null,"4") or List(List("1","2"), List(null, null), List("5","6"))

  51. final def writeMessageNoTag[T](obj: T)(f: (Output, T) ⇒ Unit): Unit

    Permalink
  52. final def writeNestedBigDecimal(value: BigDecimal): Unit

    Permalink
  53. final def writeNestedBigInteger(value: BigInteger): Unit

    Permalink
  54. final def writeNestedBool(value: Boolean): Unit

    Permalink
  55. final def writeNestedByteArray(value: Array[Byte]): Unit

    Permalink
  56. final def writeNestedCollection[T](col: T)(f: (NestedOutput, T) ⇒ Unit): Unit

    Permalink
  57. final def writeNestedDouble(value: Double): Unit

    Permalink
  58. final def writeNestedFixedInt(value: Int): Unit

    Permalink
  59. final def writeNestedFixedLong(value: Long): Unit

    Permalink
  60. final def writeNestedFloat(value: Float): Unit

    Permalink
  61. final def writeNestedInt(value: Int): Unit

    Permalink
  62. final def writeNestedLong(value: Long): Unit

    Permalink
  63. final def writeNestedObject[T](obj: T)(f: (FieldOutput, T) ⇒ Unit): Unit

    Permalink
  64. final def writeNestedSignedInt(value: Int): Unit

    Permalink
  65. final def writeNestedSignedLong(value: Long): Unit

    Permalink
  66. final def writeNestedString(value: String): Unit

    Permalink
  67. final def writeNestedUnsignedInt(value: Int): Unit

    Permalink
  68. final def writeNestedUnsignedLong(value: Long): Unit

    Permalink
  69. final def writeRawBigDecimal(value: BigDecimal): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  70. final def writeRawBigEndian32(value: Int): Unit

    Permalink

    Write a big-endian 32-bit integer.

  71. final def writeRawBigEndian64(value: Long): Unit

    Permalink

    Write a big-endian 64-bit integer.

  72. final def writeRawBigInteger(value: BigInteger): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  73. final def writeRawBool(value: Boolean): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  74. final def writeRawByteArray(value: Array[Byte]): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  75. final def writeRawCollection[T](col: T)(f: (NestedOutput, T) ⇒ Unit): Unit

    Permalink

    Write out a RAW collection.

    Write out a RAW collection. This method will wrap the collection in whatever leading/trailing "stuff" is needed (e.g. length prefixing, leading/trailing chars, etc...). The method that you pass in should use the Output instance to make repeated calls to a single write

    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  76. final def writeRawDouble(value: Double): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  77. final def writeRawFixedInt(value: Int): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  78. final def writeRawFixedLong(value: Long): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  79. final def writeRawFloat(value: Float): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  80. final def writeRawInt(value: Int): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  81. final def writeRawLittleEndian32(value: Int): Unit

    Permalink

    Write a little-endian 32-bit integer.

  82. final def writeRawLittleEndian64(value: Long): Unit

    Permalink

    Write a little-endian 64-bit integer.

  83. final def writeRawLong(value: Long): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  84. final def writeRawObject[T](obj: T)(f: (FieldOutput, T) ⇒ Unit): Unit

    Permalink

    For writing objects.

    For writing objects. Note: that the obj is passed in for null handling by the implementation. If the object is not null then the function f will be called so the caller can write out the fields

    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  85. final def writeRawSignedInt(value: Int): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  86. final def writeRawSignedLong(value: Long): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  87. final def writeRawString(value: String): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  88. final def writeRawUnsignedInt(value: Int): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  89. final def writeRawUnsignedLong(value: Long): Unit

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  90. final def writeRawVarint32(value: Int): Unit

    Permalink

    Encode and write a varint.

    Encode and write a varint. value is treated as unsigned, so it won't be sign-extended if negative.

    Annotations
    @tailrec()
  91. final def writeRawVarint64(value: Long): Unit

    Permalink

    Encode and write a varint.

    Encode and write a varint.

    Annotations
    @tailrec()
  92. final def writeSInt32NoTag(value: Int): Unit

    Permalink
  93. final def writeSInt64NoTag(value: Long): Unit

    Permalink
  94. final def writeStringNoTag(value: String): Unit

    Permalink
  95. final def writeTag(number: Int, wireType: Int): Unit

    Permalink

    Encode and write a tag.

  96. final def writeUInt32NoTag(value: Int): Unit

    Permalink
  97. final def writeUInt64NoTag(value: Long): Unit

    Permalink

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from Output

Inherited from RawOutput

Inherited from NestedOutput

Inherited from FieldOutput

Inherited from AnyRef

Inherited from Any

Ungrouped