code: def create_snappy_message(payloads, key=None):
      
      message_set = KafkaProtocol._encode_message_set(
          [create_message(payload, pl_key) for payload, pl_key in payloads])
  
      snapped = snappy_encode(message_set)
      codec = ATTRIBUTE_CODEC_MASK & CODEC_SNAPPY
  
      return kafka.structs.Message(0, 0x00 | codec, key, snapped)
docs: Construct a Snappy Message containing multiple Messages
  
      The given payloads will be encoded, compressed, and sent as a single atomic
      message to Kafka.
  
      Arguments:
          payloads: list(bytes), a list of payload to send be sent to Kafka
          key: bytes, a key used for partition routing (optional)