docs: def xpubsubSockets(self, hostSub, portSub, hostPub, portPub):
          '''
          Creates frontend and backend for a XPUB/XSUB forwarding device
          '''
          frontend_addr = self.tcpAddress(hostSub, portSub)
          backend_addr = self.tcpAddress(hostPub, portPub)
  
          frontendSocket = self._context.socket(zmq.SUB)
          frontendSocket.bind(frontend_addr)
          frontendSocket.setsockopt(zmq.SUBSCRIBE, b'')
  
          backendSocket = self._context.socket(zmq.PUB)
          backendSocket.bind(backend_addr)
  
          return frontendSocket, backendSocket