Home | History | Annotate | Download | only in serial
      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 
      5 import "data_stream.mojom"
      6 
      7 module device.serial {
      8 
      9 // A serialized form of a DataSender.
     10 struct 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.
     22 struct 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.
     31 struct 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