#
# Autogenerated by Thrift Compiler (0.8.0)
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#
#  options string: py:dynamic,dynbase=TBase,dynimport=from thrift.protocol.TBase import TBase; from thrift.protocol.TBase import TExceptionBase; from thrift.Thrift import TApplicationException,slots
#

from thrift.Thrift import TType, TMessageType, TException

from thrift.protocol.TBase import TBase; from thrift.protocol.TBase import TExceptionBase; from thrift.Thrift import TApplicationException


class LogMessage(TBase):
  """
  Log message that applications pass to logger.


  Attributes:
   - key
   - message
   - timestampInNanos
  """

  __slots__ = [ 
    'key',
    'message',
    'timestampInNanos',
   ]

  thrift_spec = (
    None, # 0
    (1, TType.STRING, 'key', None, None, ), # 1
    (2, TType.STRING, 'message', None, None, ), # 2
    (3, TType.I64, 'timestampInNanos', None, None, ), # 3
  )

  def __init__(self, key=None, message=None, timestampInNanos=None,):
    self.key = key
    self.message = message
    self.timestampInNanos = timestampInNanos


class AuditMessage(TBase):
  """
  To guarantee data delivery over the pipeline, we need to track the number of messages
  that Singer delivers for each topic using a seperate Kafka topic.

  Singer uses batch writing to write messages to Kafka. For each batch writing, we will
  have a message that writes to the audit topic on the number of log messages in the batch.
  Number of log messages + 1 (audit message) <= MAX_BATCH_SIZE


  Attributes:
   - timestamp
   - hostname
   - topic
   - numMessages
  """

  __slots__ = [ 
    'timestamp',
    'hostname',
    'topic',
    'numMessages',
   ]

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'timestamp', None, None, ), # 1
    (2, TType.STRING, 'hostname', None, None, ), # 2
    (3, TType.STRING, 'topic', None, None, ), # 3
    (4, TType.I64, 'numMessages', None, None, ), # 4
  )

  def __init__(self, timestamp=None, hostname=None, topic=None, numMessages=None,):
    self.timestamp = timestamp
    self.hostname = hostname
    self.topic = topic
    self.numMessages = numMessages


#
# Autogenerated by Thrift Compiler (0.8.0)
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#
#  options string: py:dynamic,dynbase=TBase,dynimport=from thrift.protocol.TBase import TBase; from thrift.protocol.TBase import TExceptionBase; from thrift.Thrift import TApplicationException,slots
#

from thrift.Thrift import TType, TMessageType, TException

from thrift.protocol.TBase import TBase; from thrift.protocol.TBase import TExceptionBase; from thrift.Thrift import TApplicationException


class LogMessage(TBase):
  """
  Log message that applications pass to logger.


  Attributes:
   - key
   - message
   - timestampInNanos
  """

  __slots__ = [ 
    'key',
    'message',
    'timestampInNanos',
   ]

  thrift_spec = (
    None, # 0
    (1, TType.STRING, 'key', None, None, ), # 1
    (2, TType.STRING, 'message', None, None, ), # 2
    (3, TType.I64, 'timestampInNanos', None, None, ), # 3
  )

  def __init__(self, key=None, message=None, timestampInNanos=None,):
    self.key = key
    self.message = message
    self.timestampInNanos = timestampInNanos


class AuditMessage(TBase):
  """
  To guarantee data delivery over the pipeline, we need to track the number of messages
  that Singer delivers for each topic using a seperate Kafka topic.

  Singer uses batch writing to write messages to Kafka. For each batch writing, we will
  have a message that writes to the audit topic on the number of log messages in the batch.
  Number of log messages + 1 (audit message) <= MAX_BATCH_SIZE


  Attributes:
   - timestamp
   - hostname
   - topic
   - numMessages
  """

  __slots__ = [ 
    'timestamp',
    'hostname',
    'topic',
    'numMessages',
   ]

  thrift_spec = (
    None, # 0
    (1, TType.I64, 'timestamp', None, None, ), # 1
    (2, TType.STRING, 'hostname', None, None, ), # 2
    (3, TType.STRING, 'topic', None, None, ), # 3
    (4, TType.I64, 'numMessages', None, None, ), # 4
  )

  def __init__(self, timestamp=None, hostname=None, topic=None, numMessages=None,):
    self.timestamp = timestamp
    self.hostname = hostname
    self.topic = topic
    self.numMessages = numMessages


# # Autogenerated by Thrift Compiler (0.8.0) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # #  options string: py:dynamic,dynbase=TBase,dynimport=from thrift.protocol.TBase import TBase; from thrift.protocol.TBase import TExceptionBase; from thrift.Thrift import TApplicationException,slots # Log message that applications pass to logger.     Attributes:    - key    - message    - timestampInNanos # 0 # 1 # 2 # 3 To guarantee data delivery over the pipeline, we need to track the number of messages   that Singer delivers for each topic using a seperate Kafka topic.    Singer uses batch writing to write messages to Kafka. For each batch writing, we will   have a message that writes to the audit topic on the number of log messages in the batch.   Number of log messages + 1 (audit message) <= MAX_BATCH_SIZE     Attributes:    - timestamp    - hostname    - topic    - numMessages # 0 # 1 # 2 # 3 # 4