| Index: talk/media/sctp/sctpdataengine.h
|
| diff --git a/talk/media/sctp/sctpdataengine.h b/talk/media/sctp/sctpdataengine.h
|
| index 86bfa37a48c10dca4c3f5b0cad9a330d27aea10e..7d11097c3a152a5423cd8eecf1576c04ab4720cf 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,18 +90,21 @@ 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();
|
|
|
| virtual DataMediaChannel* CreateChannel(DataChannelType data_channel_type);
|
| -
|
| 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_;
|
| static int usrsctp_engines_count;
|
| std::vector<DataCodec> codecs_;
|
| +
|
| + void OnChannelDestroyed(SctpDataMediaChannel *channel);
|
| };
|
|
|
| // TODO(ldixon): Make into a special type of TypedMessageData.
|
| @@ -188,6 +193,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);
|
|
|