code: def adapter_add_nio_binding(self, adapter_number, port_number, nio):
          
  
          try:
              adapter = self._adapters[adapter_number]
          except IndexError:
              raise IOUError('Adapter {adapter_number} does not exist for IOU "{name}"'.format(name=self._name,
                                                                                               adapter_number=adapter_number))
  
          if not adapter.port_exists(port_number):
              raise IOUError("Port {port_number} does not exist in adapter {adapter}".format(adapter=adapter,
                                                                                             port_number=port_number))
  
          adapter.add_nio(port_number, nio)
          log.info('IOU "{name}" [{id}]: {nio} added to {adapter_number}/{port_number}'.format(name=self._name,
                                                                                               id=self._id,
                                                                                               nio=nio,
                                                                                               adapter_number=adapter_number,
                                                                                               port_number=port_number))
  
          if self.ubridge:
              bridge_name = "IOL-BRIDGE-{}".format(self.application_id + 512)
              yield from self._ubridge_send("iol_bridge add_nio_udp {name} {iol_id} {bay} {unit} {lport} {rhost} {rport}".format(name=bridge_name,
                                                                                                                                 iol_id=self.application_id,
                                                                                                                                 bay=adapter_number,
                                                                                                                                 unit=port_number,
                                                                                                                                 lport=nio.lport,
                                                                                                                                 rhost=nio.rhost,
                                                                                                                                 rport=nio.rport))
              yield from self._ubridge_apply_filters(adapter_number, port_number, nio.filters)
docs: Adds a adapter NIO binding.
  
          :param adapter_number: adapter number
          :param port_number: port number
          :param nio: NIO instance to add to the adapter/port