summaryrefslogtreecommitdiff
path: root/vendor/github.com/pion/interceptor/pkg/nack/generator_option.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/pion/interceptor/pkg/nack/generator_option.go')
-rw-r--r--vendor/github.com/pion/interceptor/pkg/nack/generator_option.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/vendor/github.com/pion/interceptor/pkg/nack/generator_option.go b/vendor/github.com/pion/interceptor/pkg/nack/generator_option.go
new file mode 100644
index 0000000..092f5db
--- /dev/null
+++ b/vendor/github.com/pion/interceptor/pkg/nack/generator_option.go
@@ -0,0 +1,44 @@
+package nack
+
+import (
+ "time"
+
+ "github.com/pion/logging"
+)
+
+// GeneratorOption can be used to configure GeneratorInterceptor
+type GeneratorOption func(r *GeneratorInterceptor) error
+
+// GeneratorSize sets the size of the interceptor.
+// Size must be one of: 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768
+func GeneratorSize(size uint16) GeneratorOption {
+ return func(r *GeneratorInterceptor) error {
+ r.size = size
+ return nil
+ }
+}
+
+// GeneratorSkipLastN sets the number of packets (n-1 packets before the last received packets) to ignore when generating
+// nack requests.
+func GeneratorSkipLastN(skipLastN uint16) GeneratorOption {
+ return func(r *GeneratorInterceptor) error {
+ r.skipLastN = skipLastN
+ return nil
+ }
+}
+
+// GeneratorLog sets a logger for the interceptor
+func GeneratorLog(log logging.LeveledLogger) GeneratorOption {
+ return func(r *GeneratorInterceptor) error {
+ r.log = log
+ return nil
+ }
+}
+
+// GeneratorInterval sets the nack send interval for the interceptor
+func GeneratorInterval(interval time.Duration) GeneratorOption {
+ return func(r *GeneratorInterceptor) error {
+ r.interval = interval
+ return nil
+ }
+}