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

Unified Diff: talk/media/sctp/sctpdataengine.h

Issue 1266033005: Added send-thresholding and fixed text packet dumping. Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Added a test and more pthatcher@ comments. Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | talk/media/sctp/sctpdataengine.cc » ('j') | talk/media/sctp/sctpdataengine.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: talk/media/sctp/sctpdataengine.h
diff --git a/talk/media/sctp/sctpdataengine.h b/talk/media/sctp/sctpdataengine.h
index 86bfa37a48c10dca4c3f5b0cad9a330d27aea10e..a591542bd676622a31e11bdabca3ce87dbcf97ee 100644
--- a/talk/media/sctp/sctpdataengine.h
+++ b/talk/media/sctp/sctpdataengine.h
@@ -64,6 +64,8 @@ const uint32 kMaxSctpSid = 1023;
// usrsctp.h)
const int kSctpDefaultPort = 5000;
+class SctpDataMediaChannel;
+
// A DataEngine that interacts with usrsctp.
//
// From channel calls, data flows like this:
@@ -88,7 +90,7 @@ const int kSctpDefaultPort = 5000;
// 14. SctpDataMediaChannel::SignalDataReceived(data)
// [from the same thread, methods registered/connected to
// SctpDataMediaChannel are called with the recieved data]
-class SctpDataEngine : public DataEngineInterface {
+class SctpDataEngine : public DataEngineInterface, public sigslot::has_slots<> {
public:
SctpDataEngine();
virtual ~SctpDataEngine();
@@ -97,9 +99,15 @@ class SctpDataEngine : public DataEngineInterface {
virtual const std::vector<DataCodec>& data_codecs() { return codecs_; }
+ static int SendThresholdCallback(struct socket* sock, uint32_t sb_free);
+
private:
+ static std::vector<SctpDataMediaChannel*> channels_;
Nico 2015/08/27 03:56:46 This adds a static initializer, that's no good. (I
pthatcher1 2015/08/27 16:45:33 codecs_ isn't static. And when I reviewed this co
lally1 2015/08/27 17:56:09 Ah, I didn't know that wasn't allowed. I've wrapp
static int usrsctp_engines_count;
std::vector<DataCodec> codecs_;
+
+ static SctpDataMediaChannel* GetChannelFromSocket(struct socket* sock);
+ void OnChannelDestroyed(SctpDataMediaChannel *channel);
};
// TODO(ldixon): Make into a special type of TypedMessageData.
@@ -188,6 +196,9 @@ class SctpDataMediaChannel : public DataMediaChannel,
debug_name_ = debug_name;
}
const std::string& debug_name() const { return debug_name_; }
+ const struct socket* socket() { return sock_; }
+
+ sigslot::signal1<SctpDataMediaChannel*> SignalDestroyed;
private:
sockaddr_conn GetSctpSockAddr(int port);
« no previous file with comments | « no previous file | talk/media/sctp/sctpdataengine.cc » ('j') | talk/media/sctp/sctpdataengine.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698