Skip to content

Manager Architecture

palesius edited this page Nov 11, 2013 · 1 revision

###Overview The manager ties everything together.

###General structure

  • Proxies: connected to a device and a host proxy and relays the communications between them
  • Device: maintains an internal model of the device and its endpoints
  • Connect/Disconnect: monitors the device/host for connects and disconnects and stops/starts the relayers
  • Relays: one thread per endpoint handles the actual relaying and filtering of packets for that endpoint
  • Injection: provides an interface to inject arbitrary packets into an endpoint
  • Endpoints: maintains a list of active endpoints.
  • Monitoring: some control requests will trigger updates to the internal device model, specifically set configuration, set interface, and set/clear feature.
  • Callback list: maintains a list of all filtering callback functions along with the criteria that control which endpoints they are applied to. At the start of relaying, all applicable callback functions will be sent to each endpoint relaying thread.
Clone this wiki locally