259be286061fdf1be02b4c0ba80387deed0d34e9
[platform/framework/web/crosswalk.git] / src / device / serial / data_stream_serialization.mojom
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 module device.serial;
6
7 import "data_stream.mojom";
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 error to report for sends in progress when a fatal error occurs.
15   int32 fatal_error_value;
16
17   // The size of the send buffer.
18   uint32 buffer_size;
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 error to report for a receive in progress when a fatal error occurs.
37   int32 fatal_error_value;
38
39   // The number of bytes this DataReceiver has received from the DataSource.
40   uint32 bytes_received;
41
42   // Whether a Resume() message needs to be sent to the DataSource for it to
43   // resume sending data.
44   bool paused;
45
46   // The pending receive error if there is one.
47   PendingReceiveError? pending_error;
48
49   array<array<uint8>> pending_data;
50 };