public interface Transactional
Transactional
interface provides methods for demarcating a communication transaction.
If a Peripheral
instance implements this interface then a transaction will be demarcated
by a call to begin
and a call to end
. The read and write operations
between these two calls will be part of a single transaction. A peripheral device driver may then
use this transaction demarcation to qualify the sequence of read and write operations
accordingly. For example, an I2C driver will treat the sequence of read and write operations to
the same I2C slave device as a combined message. An SPI driver will treat the sequence of read
and write operations to the same SPI slave device as a single transaction and will assert the
Slave Select line during the whole transaction.
In order to ensure that the end
method is always invoked, these methods should be
used within a try ... finally
block: try { peripheral.begin(); // read and write operations } finally { peripheral.end(); }
void begin() throws ClosedPeripheralException, java.io.IOException
ClosedPeripheralException
- if the peripheral has been closed.java.io.IOException
- if some other I/O error occurs.java.lang.IllegalStateException
- if a transaction is already in progress.void end() throws ClosedPeripheralException, java.io.IOException
ClosedPeripheralException
- if the peripheral has been closed.java.io.IOException
- if some other I/O error occurs.java.lang.IllegalStateException
- if a transaction is not currently in progress.Copyright © 2012, 2014, Oracle and/or its affiliates. All rights reserved.
Legal Notices