summaryrefslogtreecommitdiff
path: root/vendor/github.com/pion/sctp/param.go
diff options
context:
space:
mode:
authorkali kaneko (leap communications) <kali@leap.se>2021-11-29 01:46:27 +0100
committerkali kaneko (leap communications) <kali@leap.se>2021-11-29 18:14:16 +0100
commit18f52af5be3a9a0c73811706108f790d65ee9c67 (patch)
treee13cbacb47d56919caa9c44a2b45dec1497a7860 /vendor/github.com/pion/sctp/param.go
parentebcef0d57b6ecb5a40c6579f6be07182dd3033ba (diff)
[pkg] update vendor
Diffstat (limited to 'vendor/github.com/pion/sctp/param.go')
-rw-r--r--vendor/github.com/pion/sctp/param.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/github.com/pion/sctp/param.go b/vendor/github.com/pion/sctp/param.go
new file mode 100644
index 0000000..08e46d1
--- /dev/null
+++ b/vendor/github.com/pion/sctp/param.go
@@ -0,0 +1,35 @@
+package sctp
+
+import (
+ "github.com/pkg/errors"
+)
+
+type param interface {
+ marshal() ([]byte, error)
+ length() int
+}
+
+func buildParam(t paramType, rawParam []byte) (param, error) {
+ switch t {
+ case forwardTSNSupp:
+ return (&paramForwardTSNSupported{}).unmarshal(rawParam)
+ case supportedExt:
+ return (&paramSupportedExtensions{}).unmarshal(rawParam)
+ case random:
+ return (&paramRandom{}).unmarshal(rawParam)
+ case reqHMACAlgo:
+ return (&paramRequestedHMACAlgorithm{}).unmarshal(rawParam)
+ case chunkList:
+ return (&paramChunkList{}).unmarshal(rawParam)
+ case stateCookie:
+ return (&paramStateCookie{}).unmarshal(rawParam)
+ case heartbeatInfo:
+ return (&paramHeartbeatInfo{}).unmarshal(rawParam)
+ case outSSNResetReq:
+ return (&paramOutgoingResetRequest{}).unmarshal(rawParam)
+ case reconfigResp:
+ return (&paramReconfigResponse{}).unmarshal(rawParam)
+ default:
+ return nil, errors.Errorf("Unhandled ParamType %v", t)
+ }
+}