Browse Source

Cleanup and added some comments

Paul-Louis Ageneau 5 years ago
parent
commit
8b94f22aca

+ 5 - 4
include/rtc/channel.hpp

@@ -30,13 +30,14 @@ namespace rtc {
 class Channel {
 class Channel {
 public:
 public:
 	virtual void close() = 0;
 	virtual void close() = 0;
-	virtual bool send(const std::variant<binary, string> &data) = 0;
-	virtual std::optional<std::variant<binary, string>> receive() = 0;
+	virtual bool send(const std::variant<binary, string> &data) = 0; // returns false if buffered
+	virtual std::optional<std::variant<binary, string>> receive() = 0; // only if onMessage unset
+
 	virtual bool isOpen() const = 0;
 	virtual bool isOpen() const = 0;
 	virtual bool isClosed() const = 0;
 	virtual bool isClosed() const = 0;
-	virtual size_t availableAmount() const { return 0; }
 
 
-	size_t bufferedAmount() const;
+	virtual size_t availableAmount() const; // total size available to receive
+	virtual size_t bufferedAmount() const; // total size buffered to send
 
 
 	void onOpen(std::function<void()> callback);
 	void onOpen(std::function<void()> callback);
 	void onClosed(std::function<void()> callback);
 	void onClosed(std::function<void()> callback);

+ 10 - 8
include/rtc/datachannel.hpp

@@ -44,19 +44,21 @@ public:
 	            unsigned int stream);
 	            unsigned int stream);
 	~DataChannel();
 	~DataChannel();
 
 
-	void close(void);
-	bool send(const std::variant<binary, string> &data);
+	void close(void) override;
+
+	bool send(const std::variant<binary, string> &data) override;
 	bool send(const byte *data, size_t size);
 	bool send(const byte *data, size_t size);
-	std::optional<std::variant<binary, string>> receive();
 
 
-	// Directly send a buffer to avoid a copy
 	template <typename Buffer> bool sendBuffer(const Buffer &buf);
 	template <typename Buffer> bool sendBuffer(const Buffer &buf);
 	template <typename Iterator> bool sendBuffer(Iterator first, Iterator last);
 	template <typename Iterator> bool sendBuffer(Iterator first, Iterator last);
 
 
-	bool isOpen(void) const;
-	bool isClosed(void) const;
-	size_t availableAmount() const;
-	size_t maxMessageSize() const;
+	std::optional<std::variant<binary, string>> receive() override;
+
+	bool isOpen(void) const override;
+	bool isClosed(void) const override;
+	size_t availableAmount() const override;
+
+	size_t maxMessageSize() const;  // maximum message size in a call to send or sendBuffer
 
 
 	unsigned int stream() const;
 	unsigned int stream() const;
 	string label() const;
 	string label() const;

+ 2 - 0
src/channel.cpp

@@ -57,6 +57,8 @@ void Channel::onBufferedAmountLow(std::function<void()> callback) {
 	mBufferedAmountLowCallback = callback;
 	mBufferedAmountLowCallback = callback;
 }
 }
 
 
+size_t Channel::availableAmount() const { return 0; }
+
 size_t Channel::bufferedAmount() const { return mBufferedAmount; }
 size_t Channel::bufferedAmount() const { return mBufferedAmount; }
 
 
 void Channel::setBufferedAmountLowThreshold(size_t amount) { mBufferedAmountLowThreshold = amount; }
 void Channel::setBufferedAmountLowThreshold(size_t amount) { mBufferedAmountLowThreshold = amount; }

+ 0 - 2
src/dtlstransport.cpp

@@ -356,8 +356,6 @@ DtlsTransport::DtlsTransport(shared_ptr<IceTransport> lower, shared_ptr<Certific
 }
 }
 
 
 DtlsTransport::~DtlsTransport() {
 DtlsTransport::~DtlsTransport() {
-	onRecv(nullptr); // unset recv callback
-
 	mIncomingQueue.stop();
 	mIncomingQueue.stop();
 
 
 	if (mRecvThread.joinable())
 	if (mRecvThread.joinable())

+ 1 - 1
src/dtlstransport.hpp

@@ -54,7 +54,7 @@ public:
 
 
 	State state() const;
 	State state() const;
 
 
-	bool send(message_ptr message);
+	bool send(message_ptr message); // false if dropped
 
 
 private:
 private:
 	void incoming(message_ptr message);
 	void incoming(message_ptr message);

+ 1 - 1
src/icetransport.hpp

@@ -67,7 +67,7 @@ public:
 	std::optional<string> getLocalAddress() const;
 	std::optional<string> getLocalAddress() const;
 	std::optional<string> getRemoteAddress() const;
 	std::optional<string> getRemoteAddress() const;
 
 
-	bool send(message_ptr message);
+	bool send(message_ptr message); // false if dropped
 
 
 private:
 private:
 	void incoming(message_ptr message);
 	void incoming(message_ptr message);

+ 1 - 1
src/sctptransport.hpp

@@ -50,7 +50,7 @@ public:
 
 
 	State state() const;
 	State state() const;
 
 
-	bool send(message_ptr message);
+	bool send(message_ptr message); // false if buffered
 	void reset(unsigned int stream);
 	void reset(unsigned int stream);
 
 
 private:
 private: