code: def process_npdu(self, npdu):
          
          if _debug: ProxyServiceNetworkAdapter._debug("process_npdu %r", npdu)
  
          # encode the npdu as if it was about to be delivered to the network
          pdu = PDU()
          npdu.encode(pdu)
          if _debug: ProxyServiceNetworkAdapter._debug("    - pdu: %r", pdu)
  
          # broadcast messages go to peers
          if pdu.pduDestination.addrType == Address.localBroadcastAddr:
              xpdu = ServerToProxyBroadcastNPDU(pdu)
          else:
              xpdu = ServerToProxyUnicastNPDU(pdu.pduDestination, pdu)
  
          # the connection has the correct address
          xpdu.pduDestination = self.conn.address
  
          # send it down to the multiplexer
          self.conn.service.service_request(xpdu)
docs: encode NPDUs from the network service access point and send them to the proxy.