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

Unified Diff: talk/app/webrtc/datachannel.h

Issue 1403633005: Revert of Moving MediaStreamSignaling logic into PeerConnection. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 2 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 | « no previous file | talk/app/webrtc/datachannel.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: talk/app/webrtc/datachannel.h
diff --git a/talk/app/webrtc/datachannel.h b/talk/app/webrtc/datachannel.h
index 2713ae3b553ed7a79f32de9f34a214c3396e1877..4506f71b146c71f95ab22a04fbcffca97b43bb32 100644
--- a/talk/app/webrtc/datachannel.h
+++ b/talk/app/webrtc/datachannel.h
@@ -29,7 +29,6 @@
#define TALK_APP_WEBRTC_DATACHANNEL_H_
#include <deque>
-#include <set>
#include <string>
#include "talk/app/webrtc/datachannelinterface.h"
@@ -82,28 +81,6 @@
}
OpenHandshakeRole open_handshake_role;
-};
-
-// Helper class to allocate unique IDs for SCTP DataChannels
-class SctpSidAllocator {
- public:
- // Gets the first unused odd/even id based on the DTLS role. If |role| is
- // SSL_CLIENT, the allocated id starts from 0 and takes even numbers;
- // otherwise, the id starts from 1 and takes odd numbers.
- // Returns false if no id can be allocated.
- bool AllocateSid(rtc::SSLRole role, int* sid);
-
- // Attempts to reserve a specific sid. Returns false if it's unavailable.
- bool ReserveSid(int sid);
-
- // Indicates that |sid| isn't in use any more, and is thus available again.
- void ReleaseSid(int sid);
-
- private:
- // Checks if |sid| is available to be assigned to a new SCTP data channel.
- bool IsSidAvailable(int sid) const;
-
- std::set<int> used_sids_;
};
// DataChannel is a an implementation of the DataChannelInterface based on
@@ -152,6 +129,9 @@
// rtc::MessageHandler override.
virtual void OnMessage(rtc::Message* msg);
+ // Called if the underlying data engine is closing.
+ void OnDataEngineClose();
+
// Called when the channel's ready to use. That can happen when the
// underlying DataMediaChannel becomes ready, or when this channel is a new
// stream on an existing DataMediaChannel, and we've finished negotiation.
@@ -161,7 +141,6 @@
void OnDataReceived(cricket::DataChannel* channel,
const cricket::ReceiveDataParams& params,
const rtc::Buffer& payload);
- void OnStreamClosedRemotely(uint32_t sid);
// The remote peer request that this channel should be closed.
void RemotePeerRequestClose();
@@ -172,10 +151,7 @@
// be called once.
void SetSctpSid(int sid);
// Called when the transport channel is created.
- // Only needs to be called for SCTP data channels.
void OnTransportChannelCreated();
- // Called when the transport channel is destroyed.
- void OnTransportChannelDestroyed();
// The following methods are for RTP only.
@@ -190,11 +166,6 @@
cricket::DataChannelType data_channel_type() const {
return data_channel_type_;
}
-
- // Emitted when state transitions to kClosed.
- // In the case of SCTP channels, this signal can be used to tell when the
- // channel's sid is free.
- sigslot::signal1<DataChannel*> SignalClosed;
protected:
DataChannel(DataChannelProviderInterface* client,
@@ -276,6 +247,16 @@
PacketQueue queued_send_data_;
};
+class DataChannelFactory {
+ public:
+ virtual rtc::scoped_refptr<DataChannel> CreateDataChannel(
+ const std::string& label,
+ const InternalDataChannelInit* config) = 0;
+
+ protected:
+ virtual ~DataChannelFactory() {}
+};
+
// Define proxy for DataChannelInterface.
BEGIN_PROXY_MAP(DataChannel)
PROXY_METHOD1(void, RegisterObserver, DataChannelObserver*)
« no previous file with comments | « no previous file | talk/app/webrtc/datachannel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698