aboutsummaryrefslogtreecommitdiff
path: root/net/dcsctp/common/internal_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/dcsctp/common/internal_types.h')
-rw-r--r--net/dcsctp/common/internal_types.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/dcsctp/common/internal_types.h b/net/dcsctp/common/internal_types.h
index 4551fd17d3..b651d45d91 100644
--- a/net/dcsctp/common/internal_types.h
+++ b/net/dcsctp/common/internal_types.h
@@ -13,6 +13,7 @@
#include <utility>
#include "net/dcsctp/public/strong_alias.h"
+#include "net/dcsctp/public/types.h"
namespace dcsctp {
@@ -34,5 +35,16 @@ using ReconfigRequestSN = StrongAlias<class ReconfigRequestSNTag, uint32_t>;
// Verification Tag, used for packet validation.
using VerificationTag = StrongAlias<class VerificationTagTag, uint32_t>;
+// Tie Tag, used as a nonce when connecting.
+using TieTag = StrongAlias<class TieTagTag, uint64_t>;
+
+// Hasher for separated ordered/unordered stream identifiers.
+struct UnorderedStreamHash {
+ size_t operator()(const std::pair<IsUnordered, StreamID>& p) const {
+ return std::hash<IsUnordered::UnderlyingType>{}(*p.first) ^
+ (std::hash<StreamID::UnderlyingType>{}(*p.second) << 1);
+ }
+};
+
} // namespace dcsctp
#endif // NET_DCSCTP_COMMON_INTERNAL_TYPES_H_