sockets#
Abstract description of socket topology.
Each entry in each dict is a set of sockets to be run in an independent process.
- perceptivo.networking.sockets.CLINICIAN = {'gui': (Socket(id='clinician.command', socket_type='PUB', protocol='tcp', mode='bind', port=5000, ip='*', to=None), Socket(id='clinician.data', socket_type='ROUTER', protocol='tcp', mode='bind', port=5001, ip='*', to=None))}#
Sockets used by the clinician object
clinician.command-PUBsocket for dispersing control commands to subordinate computersclincian.data-ROUTERfor receiving data from subordinate computers
- perceptivo.networking.sockets.EXAMINER = {'data': (Socket(id='examiner.data_in', socket_type='ROUTER', protocol='ipc', mode='bind', port=5003, ip='*', to=None), Socket(id='examiner.data_out', socket_type='DEALER', protocol='tcp', mode='connect', port=5001, ip='192.168.0.100', to=None)), 'manager': (Socket(id='examiner.manager.command', socket_type='SUB', protocol='tcp', mode='connect', port=5000, ip='192.168.0.100', to=None), Socket(id='examiner.manager.process', socket_type='ROUTER', protocol='ipc', mode='bind', port=5002, ip='*', to=None), Socket(id='examiner.manager.data_out', socket_type='DEALER', protocol='ipc', mode='connect', port=5003, ip='localhost', to=None)), 'picamera': (Socket(id='examiner.picamera.data_out', socket_type='DEALER', protocol='ipc', mode='connect', port=5002, ip='*', to=None),)}#
Sockets used by the ‘examiner’ machine responsible for managing the exam - measuring the pupil, presenting sounds, and maintaining the psychoacoustic model
Processes:
manager
examiner.manager.command-SUB- subscriber to clinician commandsexaminer.manager.process-ROUTER- receives data from picameraexaminer.manager.data_out-DEALER- sends data to thedataprocess to forward to clinician
picamera
examiner.picamera.data_out-DEALER- sends frames to theprocesssocket
data
examiner.data.data_in-ROUTER- receives data fromprocessexaminer.data.data_out-DEALER- sends data to clinician
- perceptivo.networking.sockets.STIM = {'stim': (Socket(id='stim.command', socket_type='SUB', protocol='tcp', mode='connect', port=5000, ip='192.168.0.100', to=None), Socket(id='stim.manager', socket_type='DEALER', protocol='tcp', mode='connect', port=5002, ip='192.168.0.101', to=None))}#
Sockets used by the stimulus delivery machine
stim.command-SUB- subscriber to clinician commandsstim.manager-DEALER- subscriber to theprocesssocket of the examiner, receives commands to present stimuli, etc.