blob: cf2cc6b3df6d5cddb3b4c9ece763c5632a4581a6 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module device.serial;
import "data_stream.mojom";
// A serialized form of a DataSender.
struct SerializedDataSender {
// The control channel to the DataSink to which this DataSender sends data.
DataSink sink;
// The error to report for sends in progress when a fatal error occurs.
int32 fatal_error_value;
};
// A pending receive error.
struct PendingReceiveError {
// The value of the error.
int32 error;
// The location of the error.
uint32 offset;
};
// A serialized form of a DataReceiver.
struct SerializedDataReceiver {
// The control channel to the DataSource from which this DataReceiver receives
// data.
DataSource source;
// DataSourceClient&
handle<message_pipe> client;
// The error to report for a receive in progress when a fatal error occurs.
int32 fatal_error_value;
// The number of bytes this DataReceiver has received from the DataSource.
uint32 bytes_received;
// Whether a Resume() message needs to be sent to the DataSource for it to
// resume sending data.
bool paused;
// The pending receive error if there is one.
PendingReceiveError? pending_error;
array<array<uint8>> pending_data;
};