class_docstr: An object that connects Engines to each other.
  north and east sockets listen, while south and west sockets connect.
  
  This class is useful in cases where there is a set of nodes that
  must communicate only with their nearest neighbors.
docstr: connect to peers.  `peers` will be a 3-tuples, of the form:
  (location, north_addr, east_addr)
  as produced by
docstr_tok: ["connect","to","peers",".","`","peers","`","will","be","a","3-tuples",",","of","the","form",":","(","location",",","north_addr",",","east_addr",")","as","produced","by"]
code: def connect(self, south_peer=None, west_peer=None):
      """connect to peers.  `peers` will be a 3-tuples, of the form:
      (location, north_addr, east_addr)
      as produced by
      """
      if south_peer is not None:
          location, url, _ = south_peer
          self.south.connect(disambiguate_url(url, location))
      if west_peer is not None:
          location, _, url = west_peer
          self.west.connect(disambiguate_url(url, location))
  
file_path: ipyparallel/docs/source/examples/wave2D/communicator.py
imports: import socket
  import zmq
  from ipyparallel.util import disambiguate_url
label_desc: Use image node_id 4 for calling the EngineCommunicator obj's underlying member method code with example usage: obj.connect(south_peer, west_peer) without return types