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
    @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. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
  49. 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"))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
  66. final def writeRawBigEndian32(value: Int): Unit

    Permalink

    Write a big-endian 32-bit integer.

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

    Permalink

    Write a big-endian 64-bit integer.

  68. final def writeRawBool(value: Boolean): Unit

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

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  70. 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
  71. final def writeRawDouble(value: Double): Unit

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

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

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

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

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

    Permalink

    Write a little-endian 32-bit integer.

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

    Permalink

    Write a little-endian 64-bit integer.

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

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  79. 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
  80. final def writeRawSignedInt(value: Int): Unit

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

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

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

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

    Permalink
    Definition Classes
    ProtobufOutputStreamOutputRawOutput
  85. 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()
  86. final def writeRawVarint64(value: Long): Unit

    Permalink

    Encode and write a varint.

    Encode and write a varint.

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

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

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

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

    Permalink

    Encode and write a tag.

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

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

    Permalink

Inherited from Output

Inherited from RawOutput

Inherited from NestedOutput

Inherited from FieldOutput

Inherited from AnyRef

Inherited from Any

Ungrouped