Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(813)

Side by Side Diff: ppapi/api/dev/ppb_transport_dev.idl

Issue 10454058: Remove PPB_Transport_Dev API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/renderer/render_view_impl.cc ('k') | ppapi/c/dev/ppb_transport_dev.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* Copyright (c) 2012 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
6 /**
7 * This file defines the <code>PPB_Transport_Dev</code> interface.
8 */
9 label Chrome {
10 M14 = 0.7
11 };
12
13 [assert_size(4)]
14 enum PP_TransportType {
15 PP_TRANSPORTTYPE_DATAGRAM = 0,
16 PP_TRANSPORTTYPE_STREAM = 1
17 };
18
19 [assert_size(4)]
20 enum PP_TransportProperty {
21 /**
22 * STUN server address and port, e.g "stun.example.com:19302".
23 */
24 PP_TRANSPORTPROPERTY_STUN_SERVER = 0,
25
26 /**
27 * Relay server address and port, e.g. "relay.example.com:12344".
28 */
29 PP_TRANSPORTPROPERTY_RELAY_SERVER = 1,
30
31 /**
32 * Username for the relay server.
33 */
34 PP_TRANSPORTPROPERTY_RELAY_USERNAME = 2,
35
36 /**
37 * Password for the relay server.
38 */
39 PP_TRANSPORTPROPERTY_RELAY_PASSWORD = 3,
40
41 /**
42 * Type of Relay server. Must be one of the PP_TransportRelayMode values. By
43 * default is set to PP_TRANSPORTRELAYMODE_TURN.
44 */
45 PP_TRANSPORTPROPERTY_RELAY_MODE = 4,
46
47 /**
48 * TCP receive window in bytes. Takes effect only for PseudoTCP connections.
49 */
50 PP_TRANSPORTPROPERTY_TCP_RECEIVE_WINDOW = 5,
51
52 /**
53 * TCP send window in bytes. Takes effect only for PseudoTCP connections.
54 */
55 PP_TRANSPORTPROPERTY_TCP_SEND_WINDOW = 6,
56
57 /**
58 * Boolean value that disables Neagle's algorithm when set to true. When
59 * Neagle's algorithm is disabled, all outgoing packets are sent as soon as
60 * possible. When set to false (by default) data may be buffered until there
61 * is a sufficient amount to send.
62 */
63 PP_TRANSPORTPROPERTY_TCP_NO_DELAY = 7,
64
65 /**
66 * Delay for ACK packets in milliseconds. By default set to 100ms.
67 */
68 PP_TRANSPORTPROPERTY_TCP_ACK_DELAY = 8,
69
70 /**
71 * Boolean value that disables TCP-based transports when set to true. By
72 * default set to false.
73 */
74 PP_TRANSPORTPROPERTY_DISABLE_TCP_TRANSPORT = 9
75 };
76
77 [assert_size(4)]
78 enum PP_TransportRelayMode {
79 /**
80 * RFC5766 compliant relay server.
81 */
82 PP_TRANSPORTRELAYMODE_TURN = 0,
83
84 /**
85 * Legacy Google relay server.
86 */
87 PP_TRANSPORTRELAYMODE_GOOGLE = 1
88 };
89
90 /**
91 * The transport interface provides peer-to-peer communication.
92 *
93 * TODO(juberti): other getters/setters
94 * connect state
95 * connect type, protocol
96 * RTT
97 */
98 interface PPB_Transport_Dev {
99 /**
100 * Creates a new transport object with the specified name using the
101 * specified protocol.
102 */
103 PP_Resource CreateTransport(
104 [in] PP_Instance instance,
105 [in] str_t name,
106 [in] PP_TransportType type);
107
108 /**
109 * Returns PP_TRUE if resource is a Transport, PP_FALSE otherwise.
110 */
111 PP_Bool IsTransport(
112 [in] PP_Resource resource);
113
114 /**
115 * Returns PP_TRUE if the transport is currently writable (i.e. can
116 * send data to the remote peer), PP_FALSE otherwise.
117 */
118 PP_Bool IsWritable(
119 [in] PP_Resource transport);
120
121 /**
122 * Sets various configuration properties of the transport.
123 */
124 int32_t SetProperty(
125 [in] PP_Resource transport,
126 [in] PP_TransportProperty property,
127 [in] PP_Var value);
128
129 /**
130 * Establishes a connection to the remote peer. Returns
131 * PP_OK_COMPLETIONPENDING and notifies on |cb| when connectivity is
132 * established (or timeout occurs).
133 */
134 int32_t Connect(
135 [in] PP_Resource transport,
136 [in] PP_CompletionCallback cb);
137
138 /**
139 * Obtains another ICE candidate address to be provided to the
140 * remote peer. Returns PP_OK_COMPLETIONPENDING if there are no more
141 * addresses to be sent. After the callback is called
142 * GetNextAddress() must be called again to get the address.
143 */
144 int32_t GetNextAddress(
145 [in] PP_Resource transport,
146 [out] PP_Var address,
147 [in] PP_CompletionCallback cb);
148
149 /**
150 * Provides an ICE candidate address that was received from the remote peer.
151 */
152 int32_t ReceiveRemoteAddress(
153 [in] PP_Resource transport,
154 [in] PP_Var address);
155
156 /**
157 * Like recv(), receives data. Returns PP_OK_COMPLETIONPENDING if there is
158 * currently no data to receive. In that case, the |data| pointer should
159 * remain valid until the callback is called.
160 */
161 int32_t Recv(
162 [in] PP_Resource transport,
163 [out] mem_t data,
164 [in] uint32_t len,
165 [in] PP_CompletionCallback cb);
166
167 /**
168 * Like send(), sends data. Returns PP_OK_COMPLETIONPENDING if the socket is
169 * currently flow-controlled. In that case, the |data| pointer should remain
170 * valid until the callback is called.
171 */
172 int32_t Send(
173 [in] PP_Resource transport,
174 [in] mem_t data,
175 [in] uint32_t len,
176 [in] PP_CompletionCallback cb);
177
178 /**
179 * Disconnects from the remote peer.
180 */
181 int32_t Close(
182 [in] PP_Resource transport);
183 };
OLDNEW
« no previous file with comments | « content/renderer/render_view_impl.cc ('k') | ppapi/c/dev/ppb_transport_dev.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698