驱动接口

This commit is contained in:
黄孟柱
2021-09-27 15:06:09 +08:00
parent 22c1cd11f5
commit 1fe09572e5
31 changed files with 35 additions and 820 deletions

View File

@@ -2,13 +2,13 @@ package router_http
import (
"crypto/tls"
"encoding/binary"
"encoding/hex"
"errors"
"net"
"strings"
"sync"
"time"
"github.com/eolinker/eosc/common/bean"
"github.com/eolinker/eosc/traffic"
"github.com/valyala/fasthttp"
@@ -18,17 +18,9 @@ import (
var _ iManager = (*Manager)(nil)
var (
sign = ""
errorCertificateNotExit = errors.New("not exist cert")
)
func init() {
n := time.Now().UnixNano()
data := make([]byte, 9)
binary.PutVarint(data, n)
sign = hex.EncodeToString(data)
}
type iManager interface {
Add(port int, id string, config *Config) error
Del(port int, id string) error
@@ -43,6 +35,8 @@ type Manager struct {
routers IRouters
servers map[int]*httpServer
listeners map[int]net.Listener
traffic traffic.ITraffic
}
type httpServer struct {
@@ -88,7 +82,13 @@ func (m *Manager) Cancel() {
//NewManager 创建路由管理器
func NewManager() *Manager {
var traffic traffic.ITraffic
bean.Autowired(&traffic)
bean.AddInitializingBeanFunc(func() {
})
return &Manager{
routers: NewRouters(),
servers: make(map[int]*httpServer),
listeners: make(map[int]net.Listener),
@@ -111,7 +111,8 @@ func (m *Manager) Add(port int, id string, config *Config) error {
s = &httpServer{srv: &fasthttp.Server{}}
s.srv.Handler = router.Handler()
l, err := listener.ListenTCP(port, sign)
l, err := listener.ListenTcp("", port)
if err != nil {
return err
}