12345678910111213141516171819202122232425262728 |
- package grace
- import (
- "errors"
- "net"
- )
- type graceConn struct {
- net.Conn
- server *Server
- }
- func (c graceConn) Close() (err error) {
- defer func() {
- if r := recover(); r != nil {
- switch x := r.(type) {
- case string:
- err = errors.New(x)
- case error:
- err = x
- default:
- err = errors.New("Unknown panic")
- }
- }
- }()
- c.server.wg.Done()
- return c.Conn.Close()
- }
|