class_docstr: Subclass of RectPartitioner2D, which uses 0MQ via pyzmq for communication
  The first two arguments must be `comm`, an EngineCommunicator object,
  and `addrs`, a dict of connection information for other EngineCommunicator
  objects.
code: def prepare_communication(self):
      RectPartitioner2D.prepare_communication(self)
      # connect west/south to east/north
      west_id, south_id = self.lower_neighbors[:2]
      west = self.addrs.get(west_id, None)
      south = self.addrs.get(south_id, None)
      self.comm.connect(south, west)
  
imports: from numpy import ascontiguousarray, frombuffer, zeros
label_desc: Use image node_id 2 for calling the ZMQRectPartitioner2D obj's underlying member method code with example usage: obj.prepare_communication() without return types