Source code for spinnman.processes.abstract_single_connection_process
from .abstract_process import AbstractProcess
from spinnman.connections import SCPRequestPipeLine
[docs]class AbstractSingleConnectionProcess(AbstractProcess):
""" A process that uses a single connection in communication
"""
def __init__(self, connection_selector):
AbstractProcess.__init__(self)
self._scp_request_pipeline = None
self._connection_selector = connection_selector
def _send_request(self, request, callback=None, error_callback=None):
if error_callback is None:
error_callback = self._receive_error
# If no pipe line built yet, build one on the connection selected for
# it
if self._scp_request_pipeline is None:
self._scp_request_pipeline = SCPRequestPipeLine(
self._connection_selector.get_next_connection(request))
# send request
self._scp_request_pipeline.send_request(
request, callback, error_callback)
def _finish(self):
self._scp_request_pipeline.finish()