Add observatory / latestPing balancing strategy

Co-authored-by: Shelikhoo <xiaokangwang@outlook.com>
This commit is contained in:
世界 2021-04-09 05:20:30 +08:00
parent 77d0419aca
commit 5c366db847
No known key found for this signature in database
GPG key ID: CD109927C34A63C4
21 changed files with 1127 additions and 31 deletions

View file

@ -0,0 +1,26 @@
package observatory
import "github.com/xtls/xray-core/common/errors"
type errorCollector struct {
errors *errors.Error
}
func (e *errorCollector) SubmitError(err error) {
if e.errors == nil {
e.errors = newError("underlying connection error").Base(err)
return
}
e.errors = e.errors.Base(newError("underlying connection error").Base(err))
}
func newErrorCollector() *errorCollector {
return &errorCollector{}
}
func (e *errorCollector) UnderlyingError() error {
if e.errors == nil {
return newError("failed to produce report")
}
return e.errors
}