1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5import "data_stream.mojom" 6 7module device.serial { 8 9// A serialized form of a DataSender. 10struct SerializedDataSender { 11 // The control channel to the DataSink to which this DataSender sends data. 12 DataSink sink; 13 14 // The data pipe this DataSender uses to send data to the DataSink. 15 handle<data_pipe_producer> data_pipe; 16 17 // The error to report for sends in progress when a fatal error occurs. 18 int32 fatal_error_value; 19}; 20 21// A pending receive error. 22struct PendingReceiveError { 23 // The value of the error. 24 int32 error; 25 26 // The location of the error. 27 uint32 offset; 28}; 29 30// A serialized form of a DataReceiver. 31struct SerializedDataReceiver { 32 // The control channel to the DataSource from which this DataReceiver receives 33 // data. 34 DataSource source; 35 36 // The data pipe this DataReceiver uses to receive data from the DataSource. 37 handle<data_pipe_consumer> data_pipe; 38 39 // The error to report for a receive in progress when a fatal error occurs. 40 int32 fatal_error_value; 41 42 // The number of bytes this DataReceiver has received from the DataSource. 43 uint32 bytes_received; 44 45 // Whether a Resume() message needs to be sent to the DataSource for it to 46 // resume sending data. 47 bool paused; 48 49 // The pending receive error if there is one. 50 PendingReceiveError? pending_error; 51}; 52 53} 54