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 occursjava.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 occursjava.lang.IllegalStateException
- if a transaction is not currently in progress.Copyright © 2012, 2013, Oracle and/or its affiliates. All rights reserved.
Legal Notices