diff options
Diffstat (limited to 'pkg/server/module/split.go')
| -rw-r--r-- | pkg/server/module/split.go | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/pkg/server/module/split.go b/pkg/server/module/split.go deleted file mode 100644 index 139d062..0000000 --- a/pkg/server/module/split.go +++ /dev/null @@ -1,57 +0,0 @@ -package module - -import ( - "errors" - "strconv" - "tunnel/pkg/server/env" - "tunnel/pkg/server/opts" - "tunnel/pkg/server/queue" -) - -const splitDefaultSize = 1024 - -var errBadSize = errors.New("bad size value") - -type splitModule struct { - size int -} - -func (m *splitModule) Send(rq, wq queue.Q) error { - for b := range rq { - var upto int - - for n := 0; n < len(b); n = upto { - upto += m.size - - if upto > len(b) { - upto = len(b) - } - - wq <- b[n:upto] - } - } - - return nil -} - -func (m *splitModule) Open(env.Env) (interface{}, error) { - return m, nil -} - -func newSplitModule(opts opts.Opts, env env.Env) (module, error) { - size := splitDefaultSize - - if s, ok := opts["size"]; ok { - var err error - - if size, err = strconv.Atoi(s); err != nil || size <= 0 { - return nil, errBadSize - } - } - - return &splitModule{size: size}, nil -} - -func init() { - register("split", newSplitModule) -} |
