7#include <QtCore/QByteArrayView>
8#include <QtCore/QDeadlineTimer>
9#include <QtCore/QString>
57 int acceptedBytes = 0;
64 return acceptedBytes >= 0 && writtenBytes >= 0 && writtenBytes <= acceptedBytes ? acceptedBytes - writtenBytes
bool isCancelled() const
Safe to call from any thread.
virtual bool fatalError() const =0
GPSWriteResult write(QByteArrayView bytes, QDeadlineTimer deadline)
virtual bool setBaudrate(unsigned baudrate)
static constexpr qint64 READ_BUFFER_BYTES
virtual GPSOpenResult open()=0
static constexpr unsigned BRIDGE_BAUDRATE
virtual GPSWriteResult writeData(QByteArrayView bytes, QDeadlineTimer deadline)=0
Receives non-empty bytes and an unexpired, capped deadline that implementations must honor.
virtual GPSReadResult read(std::span< uint8_t > buffer, std::chrono::milliseconds timeout)=0
virtual std::chrono::milliseconds configurationWriteTimeout() const
virtual unsigned fixedBaudrate() const
Nonzero when the link cannot follow baud-rate changes (for example, a serial bridge).
static constexpr qint64 WRITE_BUFFER_BYTES
Bytes a link queues for writing at once.
const GPSCancelToken & cancelToken() const
int uncertainBytes() const
Invalid counts return -1 rather than masking inconsistent evidence.