diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 62753e2..59aa3de 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,7 +12,7 @@ 所有issue和 PR 尽量用中文 -本项目不考虑应用 i18n. 这是本项目的强制约定。 +本项目不考虑应用 i18n. 这是本项目的强制约定。本项目不是大项目,只追求极简能用。太大就太复杂。 # 所发的PR是有优先级的 @@ -31,10 +31,13 @@ 关于版本号的定义,我们参考但不完全遵循golang的定义: https://go.dev/doc/modules/version-numbers -我们没有0.0.0版本,初始版本就从1.x.x开始 +本作没有0.0.0版本,初始版本就是1.0.0 + +Major.Minor.Patch-beta.x + 我们beta版本提供各种bug修复,以及功能调整与新增 Patch版本一般会比上一个Patch版本相比具有新增的功能 -Minor版本具有显著的功能增加 +Minor版本具有显著的功能增加以及稳定性、性能的提升 Major版本具有显著的架构调整 对于一些人的PR,我会做出一些指导,有时并给予临时性修复。我的临时修改只是一种指导性含义,作为PR的原作者,你需要自己维护自己代码的质量,要理解我的临时修改不能当作最终修改,要自己想出最完善的修改。 @@ -43,9 +46,9 @@ Major版本具有显著的架构调整 # github action -每push一次,进行一次test +每push一次,自动进行一次test -每发布一个release,进行一次 build_release +每发布一个release,自动进行一次 build_release build_release 会编译适当数量的 目标平台 可执行文件。 diff --git a/LICENSE b/LICENSE index 7acf4e2..638b004 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022 hahafool +Copyright (c) 2022 e1732a364fed Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/advLayer/quic/server.go b/advLayer/quic/server.go index dbfd7d8..99e9454 100644 --- a/advLayer/quic/server.go +++ b/advLayer/quic/server.go @@ -13,6 +13,45 @@ import ( "go.uber.org/zap" ) +// implements advLayer.SuperMuxServer +type Server struct { + Creator + + addr string + tlsConf tls.Config + args arguments + + listener io.Closer +} + +// quic 没path配置;return "" +func (s *Server) GetPath() string { + return "" +} + +func (s *Server) Stop() { + if s.listener != nil { + s.listener = nil + + s.listener.Close() + } +} + +func (s *Server) StartListen(newSubConnFunc func(net.Conn)) (baseConn io.Closer) { + + baseConn = ListenInitialLayers(s.addr, s.tlsConf, s.args, newSubConnFunc) + if baseConn != nil { + s.listener = baseConn + + } + return +} + +// 阻塞,不支持回落。 +func (s *Server) StartHandle(underlay net.Conn, newSubConnFunc func(net.Conn), _ func(httpLayer.FallbackMeta)) { + dealNewConn(underlay.(quic.Connection), newSubConnFunc) +} + // non-blocking func ListenInitialLayers(addr string, tlsConf tls.Config, arg arguments, newSubConnFunc func(net.Conn)) (returnCloser io.Closer) { @@ -155,41 +194,3 @@ func dealNewConn(conn quic.Connection, newSubConnFunc func(net.Conn)) { go newSubConnFunc(&StreamConn{stream, conn.LocalAddr(), conn.RemoteAddr(), nil, false}) } } - -// implements advLayer.SuperMuxServer -type Server struct { - Creator - - addr string - tlsConf tls.Config - args arguments - - listener io.Closer -} - -func (s *Server) GetPath() string { - return "" -} - -func (s *Server) Stop() { - if s.listener != nil { - s.listener = nil - - s.listener.Close() - } -} - -func (s *Server) StartListen(newSubConnFunc func(net.Conn)) (baseConn io.Closer) { - - baseConn = ListenInitialLayers(s.addr, s.tlsConf, s.args, newSubConnFunc) - if baseConn != nil { - s.listener = baseConn - - } - return -} - -// 阻塞,不支持回落。 -func (s *Server) StartHandle(underlay net.Conn, newSubConnFunc func(net.Conn), _ func(httpLayer.FallbackMeta)) { - dealNewConn(underlay.(quic.Connection), newSubConnFunc) -}