class_docstr: Col-based storage.
class_docstr_tok: ["Col-based","storage","."]
code: def __init__(self, schema_info, max_size=1000, keep_data=False):
      self._max_size = max_size
      self._schema = _Schema(schema_info)
      self._data = []
      self._queue_index = []
      self._scalar_index = []
      self._has_all_scalars = False
      self._readed = False
      for index in range(len(self._schema.col_types)):
          col_type = self._schema.col_types[index]
          if col_type == ColumnType.QUEUE:
              self._data.append(
                  _QueueColumn() if not keep_data else _ListColumn()
              )
              self._queue_index.append(index)
          else:
              self._data.append(_ScalarColumn())
              self._scalar_index.append(index)
  
      self._sealed = False
      self._size = 0
      self._lock = threading.Lock()
      self._not_full = threading.Condition(self._lock)
      self._not_empty = threading.Condition(self._lock)
  
imports: import threading
  import copy
  from enum import Enum, auto
  from typing import List, Tuple, Union, Dict, Optional
  from collections import deque, namedtuple
label_desc: Use image node_id 1 to create a new DataQueue object  with example: obj = DataQueue(schema_info, max_size, keep_data)