Browse Source

Updated usrsctp

Paul-Louis Ageneau 4 years ago
parent
commit
628742c2f3
3 changed files with 7 additions and 6 deletions
  1. 1 1
      deps/usrsctp
  2. 4 3
      src/sctptransport.cpp
  3. 2 2
      src/sctptransport.hpp

+ 1 - 1
deps/usrsctp

@@ -1 +1 @@
-Subproject commit ffed0925f27d404173c1e3e750d818f432d2c019
+Subproject commit 0db969100094422d9ea74a08ae5e5d9a4cfdb06b

+ 4 - 3
src/sctptransport.cpp

@@ -702,8 +702,9 @@ std::optional<milliseconds> SctpTransport::rtt() {
 }
 
 int SctpTransport::RecvCallback(struct socket *sock, union sctp_sockstore addr, void *data,
-                                size_t len, struct sctp_rcvinfo recv_info, int flags, void *ptr) {
-	auto *transport = static_cast<SctpTransport *>(ptr);
+                                size_t len, struct sctp_rcvinfo recv_info, int flags,
+                                void *ulp_info) {
+	auto *transport = static_cast<SctpTransport *>(ulp_info);
 
 	std::shared_lock lock(InstancesMutex);
 	if (Instances.find(transport) == Instances.end()) {
@@ -717,7 +718,7 @@ int SctpTransport::RecvCallback(struct socket *sock, union sctp_sockstore addr,
 	return ret;
 }
 
-int SctpTransport::SendCallback(struct socket *sock, uint32_t sb_free) {
+int SctpTransport::SendCallback(struct socket *sock, uint32_t sb_free, void *ulp_info) {
 	struct sctp_paddrinfo paddrinfo = {};
 	socklen_t len = sizeof(paddrinfo);
 	if (usrsctp_getsockopt(sock, IPPROTO_SCTP, SCTP_GET_PEER_ADDR_INFO, &paddrinfo, &len))

+ 2 - 2
src/sctptransport.hpp

@@ -110,8 +110,8 @@ private:
 	std::atomic<size_t> mBytesSent = 0, mBytesReceived = 0;
 
 	static int RecvCallback(struct socket *sock, union sctp_sockstore addr, void *data, size_t len,
-	                        struct sctp_rcvinfo recv_info, int flags, void *user_data);
-	static int SendCallback(struct socket *sock, uint32_t sb_free);
+	                        struct sctp_rcvinfo recv_info, int flags, void *ulp_info);
+	static int SendCallback(struct socket *sock, uint32_t sb_free, void *ulp_info);
 	static int WriteCallback(void *sctp_ptr, void *data, size_t len, uint8_t tos, uint8_t set_df);
 
 	static std::unordered_set<SctpTransport *> Instances;