Class Transceiver

java.lang.Object
uk.ac.manchester.spinnaker.transceiver.UDPTransceiver
uk.ac.manchester.spinnaker.transceiver.Transceiver
All Implemented Interfaces:
Closeable, AutoCloseable, BMPTransceiverInterface, RetryTracker, TransceiverInterface

public class Transceiver
extends UDPTransceiver
implements TransceiverInterface, RetryTracker
An encapsulation of various communications with the SpiNNaker board. Acts as a Façade for most of the rest of this package.

The methods of this class are designed to be thread-safe; thus you can make multiple calls to the same (or different) methods from multiple threads and expect each call to work as if it had been called sequentially, although the order of returns is not guaranteed. Note also that with multiple connections to the board, using multiple threads in this way may result in an increase in the overall speed of operation, since the multiple calls may be made separately over the set of given connections.

For details of thread safety, see the methods annotated with ParallelSafe, ParallelSafeWithCare and ParallelUnsafe in TransceiverInterface. Note that operations on an individual BMP are always parallel-unsafe, other documentation in this class notwithstanding; BMPs must only ever have one outstanding call made to them as they do not handle asynchronous calls at all well due to known firmware bugs.