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

Side by Side Diff: webkit/glue/p2p_transport.h

Issue 10854131: Remove obsolete webkit_glue::P2PTransport interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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/pepper/pepper_plugin_delegate_impl.cc ('k') | webkit/glue/p2p_transport.cc » ('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) 2011 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 #ifndef WEBKIT_GLUE_P2P_TRANSPORT_H_
6 #define WEBKIT_GLUE_P2P_TRANSPORT_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "base/basictypes.h"
12 #include "webkit/glue/webkit_glue_export.h"
13
14 namespace net {
15 class Socket;
16 } // namespace net
17
18 namespace WebKit {
19 class WebFrame;
20 } // namespace WebKit
21
22 namespace webkit_glue {
23
24 // Interface for P2P transport.
25 class P2PTransport {
26 public:
27 enum State {
28 STATE_NONE = 0,
29 STATE_WRITABLE = 1,
30 STATE_READABLE = 2,
31 };
32
33 enum Protocol {
34 PROTOCOL_UDP = 0,
35 PROTOCOL_TCP = 1,
36 };
37
38 class EventHandler {
39 public:
40 virtual ~EventHandler() {}
41
42 // Called for each local candidate.
43 virtual void OnCandidateReady(const std::string& address) = 0;
44
45 // Called when readable of writable state of the stream changes.
46 virtual void OnStateChange(State state) = 0;
47
48 // Called when an error occures (e.g. TCP handshake
49 // failed). P2PTransport object is not usable after that and
50 // should be destroyed.
51 virtual void OnError(int error) = 0;
52 };
53
54 struct WEBKIT_GLUE_EXPORT Config {
55 Config();
56 ~Config();
57
58 // STUN server address and port.
59 std::string stun_server;
60 int stun_server_port;
61
62 // Relay server address and port.
63 std::string relay_server;
64 int relay_server_port;
65
66 // Relay server username.
67 std::string relay_username;
68
69 // Relay server password.
70 std::string relay_password;
71
72 // When set to true relay is a legacy Google relay (not TURN
73 // compliant).
74 bool legacy_relay;
75
76 // TCP window sizes. Default size is used when set to 0.
77 int tcp_receive_window;
78 int tcp_send_window;
79
80 // Disables Neagle's algorithm when set to true.
81 bool tcp_no_delay;
82
83 // TCP ACK delay.
84 int tcp_ack_delay_ms;
85
86 // Disable TCP-based transport when set to true.
87 bool disable_tcp_transport;
88 };
89
90 virtual ~P2PTransport() {}
91
92 // Initialize transport using specified configuration. |web_frame|
93 // is used to make HTTP requests to relay servers. Returns true
94 // if initialization succeeded.
95 virtual bool Init(WebKit::WebFrame* web_frame,
96 const std::string& name,
97 Protocol protocol,
98 const Config& config,
99 EventHandler* event_handler) = 0;
100
101 // Add candidate received from the remote peer. Returns false if the
102 // provided address is not in a valid format.
103 virtual bool AddRemoteCandidate(const std::string& address) = 0;
104
105 // Returns socket interface that can be used to send/receive
106 // data. Returned object is owned by the transport. Pending calls on
107 // the socket are canceled when the transport is destroyed.
108 virtual net::Socket* GetChannel() = 0;
109 };
110
111 } // namespace webkit_glue
112
113 #endif // WEBKIT_GLUE_P2P_TRANSPORT_H_
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_plugin_delegate_impl.cc ('k') | webkit/glue/p2p_transport.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698