class_docstr: Batcher class to handle segmenting large messages going to the classifier lambda function
docstr: Protected method for segmenting a list of logs into smaller lists
  so they conform to the input limit of AWS Lambda
  
  Args:
      source_function (str): The app function name from which the logs came
      logs (list): List of the logs that have been gathered
code: def _segment_and_send(self, logs):
      """Protected method for segmenting a list of logs into smaller lists
      so they conform to the input limit of AWS Lambda
  
      Args:
          source_function (str): The app function name from which the logs came
          logs (list): List of the logs that have been gathered
      """
      log_count = len(logs)
      LOGGER.debug("Segmenting %d logs into subsets", log_count)
  
      segment_size = int(math.ceil(log_count / 2.0))
      for index in range(0, log_count, segment_size):
          subset = logs[index : segment_size + index]
          # Try to send this current subset to the classifier function
          # and segment again if they are too large to be sent at once
          if not self._send_logs_to_lambda(subset):
              self._segment_and_send(subset)
  
      return True
  
file_path: streamalert/streamalert/apps/batcher.py
imports: import json
  import math
  import boto3
  from botocore.exceptions import ClientError
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 3 for calling the Batcher obj's underlying member method code with example usage: obj._segment_and_send(logs) and returns: True