Chromium Code Reviews| 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); |