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

Unified Diff: remoting/protocol/jingle_session.h

Issue 1085703003: Use standard ICE in Chromoting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix crash on memory bots Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/protocol/jingle_messages_unittest.cc ('k') | remoting/protocol/jingle_session.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/protocol/jingle_session.h
diff --git a/remoting/protocol/jingle_session.h b/remoting/protocol/jingle_session.h
index eb30e50ffdc9c4c9e5cce6912394db1ac025b8b9..584aeae06624584c14097545e00074e2834b6043 100644
--- a/remoting/protocol/jingle_session.h
+++ b/remoting/protocol/jingle_session.h
@@ -51,7 +51,7 @@ class JingleSession : public base::NonThreadSafe,
const std::string& jid() override;
const CandidateSessionConfig* candidate_config() override;
const SessionConfig& config() override;
- void set_config(const SessionConfig& config) override;
+ void set_config(scoped_ptr<SessionConfig> config) override;
StreamChannelFactory* GetTransportChannelFactory() override;
StreamChannelFactory* GetMultiplexedChannelFactory() override;
void Close() override;
@@ -62,6 +62,9 @@ class JingleSession : public base::NonThreadSafe,
void CancelChannelCreation(const std::string& name) override;
// Transport::EventHandler interface.
+ void OnTransportIceCredentials(Transport* transport,
+ const std::string& ufrag,
+ const std::string& password) override;
void OnTransportCandidate(Transport* transport,
const cricket::Candidate& candidate) override;
void OnTransportRouteChange(Transport* transport,
@@ -82,8 +85,9 @@ class JingleSession : public base::NonThreadSafe,
scoped_ptr<Authenticator> authenticator,
scoped_ptr<CandidateSessionConfig> config);
- // Adds to a new channel the remote candidates received before it was created.
- void AddPendingRemoteCandidates(Transport* channel, const std::string& name);
+ // Passes transport info to a new |channel| in case it was received before the
+ // channel was created.
+ void AddPendingRemoteTransportInfo(Transport* channel);
// Called by JingleSessionManager for incoming connections.
void InitializeIncomingConnection(const JingleMessage& initiate_message,
@@ -100,6 +104,10 @@ class JingleSession : public base::NonThreadSafe,
IqRequest* request,
const buzz::XmlElement* response);
+ // Creates empty |pending_transport_info_message_| and schedules timer for
+ // SentTransportInfo() to sent the message later.
+ void EnsurePendingTransportInfoMessage();
+
// Sends transport-info message with candidates from |pending_candidates_|.
void SendTransportInfo();
@@ -158,8 +166,7 @@ class JingleSession : public base::NonThreadSafe,
State state_;
ErrorCode error_;
- SessionConfig config_;
- bool config_is_set_;
+ scoped_ptr<SessionConfig> config_;
scoped_ptr<Authenticator> authenticator_;
@@ -174,10 +181,12 @@ class JingleSession : public base::NonThreadSafe,
scoped_ptr<SecureChannelFactory> secure_channel_factory_;
scoped_ptr<ChannelMultiplexer> channel_multiplexer_;
- base::OneShotTimer<JingleSession> transport_infos_timer_;
- std::list<JingleMessage::NamedCandidate> pending_candidates_;
+ scoped_ptr<JingleMessage> pending_transport_info_message_;
+ base::OneShotTimer<JingleSession> transport_info_timer_;
- // Pending remote candidates, received before the local channels were created.
+ // Pending remote transport info received before the local channels were
+ // created.
+ std::list<JingleMessage::IceCredentials> pending_remote_ice_credentials_;
std::list<JingleMessage::NamedCandidate> pending_remote_candidates_;
base::WeakPtrFactory<JingleSession> weak_factory_;
« no previous file with comments | « remoting/protocol/jingle_messages_unittest.cc ('k') | remoting/protocol/jingle_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698