t

com.twitter.scrooge

LazyTProtocol

trait LazyTProtocol extends TProtocol

An extension to the TProtocol to enable lazy reading

Three main classes of operations are intended to be enabled here:

1) Enable caching of a backing Array[Byte] so we can serialize quickly what we just deserialized if unchanged. 2) Enabling deferred string decoding, since string decoding is an expensive operation if we don't need the string large savings can be had avoiding this for all strings in our deserialization path. 3) Optional fields require boxing + allocations during deserialization for primitive types, this stores the offset to those types instead, doing a lazy instantiation of the Option when the field is first accessed.

Linear Supertypes
TProtocol, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LazyTProtocol
  2. TProtocol
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def buffer: Array[Byte]

    Return the underlying Array[Byte] used in reading

  2. abstract def decodeBool(arr: Array[Byte], offset: Int): Boolean

    Given a backing Array[Byte] and offset, decode this type from it using this TProtocol's deserializer

  3. abstract def decodeByte(arr: Array[Byte], offset: Int): Byte

    Given a backing Array[Byte] and offset, decode this type from it using this TProtocol's deserializer

  4. abstract def decodeDouble(arr: Array[Byte], offset: Int): Double

    Given a backing Array[Byte] and offset, decode this type from it using this TProtocol's deserializer

  5. abstract def decodeI16(arr: Array[Byte], offset: Int): Short

    Given a backing Array[Byte] and offset, decode this type from it using this TProtocol's deserializer

  6. abstract def decodeI32(arr: Array[Byte], offset: Int): Int

    Given a backing Array[Byte] and offset, decode this type from it using this TProtocol's deserializer

  7. abstract def decodeI64(arr: Array[Byte], offset: Int): Long

    Given a backing Array[Byte] and offset, decode this type from it using this TProtocol's deserializer

  8. abstract def decodeString(arr: Array[Byte], offset: Int): String

    Given a backing Array[Byte] and offset, decode this type from it using this TProtocol's deserializer

  9. abstract def offset: Int

    Return the offset currently on the underlying array byte of the transport used in reading.

  10. abstract def offsetSkipBinary(): Int

    Skips the length of a string on the underlying transport Returns: The offset at which the string can be read.

  11. abstract def offsetSkipBool(): Int

    Skips the length of a boolean on the underlying transport Returns: The offset at which the boolean can be read.

  12. abstract def offsetSkipByte(): Int

    Skips the length of a byte on the underlying transport Returns: The offset at which the byte can be read.

  13. abstract def offsetSkipDouble(): Int

    Skips the length of a double on the underlying transport Returns: The offset at which the double can be read.

  14. abstract def offsetSkipI16(): Int

    Skips the length of a short on the underlying transport Returns: The offset at which the short can be read.

  15. abstract def offsetSkipI32(): Int

    Skips the length of a int on the underlying transport Returns: The offset at which the int can be read.

  16. abstract def offsetSkipI64(): Int

    Skips the length of a long on the underlying transport Returns: The offset at which the long can be read.

  17. abstract def offsetSkipString(): Int

    Skips the length of a string on the underlying transport Returns: The offset at which the string can be read.

  18. abstract def readBinary(): ByteBuffer
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  19. abstract def readBool(): Boolean
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  20. abstract def readByte(): Byte
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  21. abstract def readDouble(): Double
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  22. abstract def readFieldBegin(): TField
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  23. abstract def readFieldEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  24. abstract def readI16(): Short
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  25. abstract def readI32(): Int
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  26. abstract def readI64(): Long
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  27. abstract def readListBegin(): TList
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  28. abstract def readListEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  29. abstract def readMapBegin(): TMap
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  30. abstract def readMapEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  31. abstract def readMessageBegin(): TMessage
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  32. abstract def readMessageEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  33. abstract def readSetBegin(): TSet
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  34. abstract def readSetEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  35. abstract def readString(): String
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  36. abstract def readStructBegin(): TStruct
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  37. abstract def readStructEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  38. abstract def writeBinary(arg0: ByteBuffer): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  39. abstract def writeBool(arg0: Boolean): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  40. abstract def writeByte(arg0: Byte): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  41. abstract def writeDouble(arg0: Double): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  42. abstract def writeFieldBegin(arg0: TField): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  43. abstract def writeFieldEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  44. abstract def writeFieldStop(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  45. abstract def writeI16(arg0: Short): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  46. abstract def writeI32(arg0: Int): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  47. abstract def writeI64(arg0: Long): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  48. abstract def writeListBegin(arg0: TList): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  49. abstract def writeListEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  50. abstract def writeMapBegin(arg0: TMap): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  51. abstract def writeMapEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  52. abstract def writeMessageBegin(arg0: TMessage): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  53. abstract def writeMessageEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  54. abstract def writeRaw(buf: Array[Byte], offset: Int, len: Int): Unit

    Take a segment of an Array[Byte] and presume it is already encoded for this transport and just copy it down.

    Take a segment of an Array[Byte] and presume it is already encoded for this transport and just copy it down.

    This is useful if we have a cached set of bytes used when deserializing a field or struct

  55. abstract def writeSetBegin(arg0: TSet): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  56. abstract def writeSetEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  57. abstract def writeString(arg0: String): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  58. abstract def writeStructBegin(arg0: TStruct): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])
  59. abstract def writeStructEnd(): Unit
    Definition Classes
    TProtocol
    Annotations
    @throws(classOf[org.apache.thrift.TException])

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def getScheme(): Class[_ <: IScheme]
    Definition Classes
    TProtocol
  11. def getTransport(): TTransport
    Definition Classes
    TProtocol
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. def reset(): Unit
    Definition Classes
    TProtocol
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from TProtocol

Inherited from AnyRef

Inherited from Any

Ungrouped