From 1e94e06ef2c5d0b62c604b6ee491acc24dd8302c Mon Sep 17 00:00:00 2001 From: Mikhail Osipov Date: Tue, 25 Feb 2020 01:10:47 +0300 Subject: make hex module duplex --- pkg/server/module/hex.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'pkg') diff --git a/pkg/server/module/hex.go b/pkg/server/module/hex.go index b632c11..8a25e50 100644 --- a/pkg/server/module/hex.go +++ b/pkg/server/module/hex.go @@ -2,9 +2,13 @@ package module import ( "encoding/hex" + "tunnel/pkg/server/env" + "tunnel/pkg/server/opts" "tunnel/pkg/server/queue" ) +type hexModule struct{} + func hexEncoder(rq, wq queue.Q) error { enc := hex.NewEncoder(wq.Writer()) @@ -21,7 +25,12 @@ func hexDecoder(rq, wq queue.Q) error { return queue.IoCopy(r, w) } +func (m hexModule) Open(env env.Env) (Pipe, Pipe) { + return hexEncoder, hexDecoder +} + func init() { - registerPipe("hex", Pipe(hexEncoder)) - registerPipe("unhex", Pipe(hexDecoder)) + register("hex", func(opts.Opts, env.Env) (module, error) { + return hexModule{}, nil + }) } -- cgit v1.2.3-70-g09d2