diff options
| author | Mikhail Osipov <mike.osipov@gmail.com> | 2020-12-16 15:27:48 +0300 |
|---|---|---|
| committer | Mikhail Osipov <mike.osipov@gmail.com> | 2020-12-16 15:27:48 +0300 |
| commit | 6fed9dd0dd62718f78eca11e30a71c2712636fbd (patch) | |
| tree | 8d1f90b96efbe8ea8aea350c283325adc216ef9d /pkg/server/socket/defer.go | |
| parent | 050ea053dd549f0dd01beddfcd74989858391fd7 (diff) | |
hook and socket args check fix, tests
Diffstat (limited to 'pkg/server/socket/defer.go')
| -rw-r--r-- | pkg/server/socket/defer.go | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/pkg/server/socket/defer.go b/pkg/server/socket/defer.go index 7ed303d..7c1436e 100644 --- a/pkg/server/socket/defer.go +++ b/pkg/server/socket/defer.go @@ -6,28 +6,19 @@ import ( ) type deferSocket struct { - S + dialSocket `opts:"inline"` } type deferConn struct { - sock *deferSocket + sock S wait chan bool env env.Env conn Conn } -func newDeferSocket(proto, addr string) (S, error) { - s, err := newDialSocket(proto, addr) - if err != nil { - return s, err - } - - return &deferSocket{s}, nil -} - -func (s *deferSocket) Open(env env.Env) (Conn, error) { +func (s *deferSocket) New(env env.Env) (Conn, error) { c := &deferConn{ - sock: s, + sock: &s.dialSocket, wait: make(chan bool), env: env, } @@ -54,7 +45,7 @@ func (c *deferConn) Recv(rq queue.Q) error { return nil } - conn, err := c.sock.S.Open(c.env) + conn, err := c.sock.New(c.env) if err != nil { c.wait <- false return err @@ -83,3 +74,7 @@ func (c *deferConn) Close() (err error) { return } + +func init() { + register("defer", deferSocket{}) +} |
