remove context public interface

This commit is contained in:
Shelikhoo 2021-05-04 14:19:23 +01:00
parent 007a15bd79
commit 620d8f1fb5
No known key found for this signature in database
GPG Key ID: C4D5E79D22B25316
2 changed files with 7 additions and 4 deletions

View File

@ -13,6 +13,8 @@ import (
"github.com/v2fly/v2ray-core/v4/features/outbound"
"github.com/v2fly/v2ray-core/v4/proxy/freedom"
"github.com/v2fly/v2ray-core/v4/transport/internet"
_ "unsafe"
)
func TestInterfaces(t *testing.T) {
@ -20,7 +22,8 @@ func TestInterfaces(t *testing.T) {
_ = (outbound.Manager)(new(Manager))
}
const v2rayKey core.V2rayKey = 1
//go:linkname mustToContextForced github.com/v2fly/v2ray-core/v4.mustToContext
func mustToContextForced(ctx context.Context, v *core.Instance) context.Context
func TestOutboundWithoutStatCounter(t *testing.T) {
config := &core.Config{
@ -38,7 +41,7 @@ func TestOutboundWithoutStatCounter(t *testing.T) {
v, _ := core.New(config)
v.AddFeature((outbound.Manager)(new(Manager)))
ctx := context.WithValue(context.Background(), v2rayKey, v)
ctx := mustToContextForced(context.Background(), v)
h, _ := NewHandler(ctx, &core.OutboundHandlerConfig{
Tag: "tag",
ProxySettings: serial.ToTypedMessage(&freedom.Config{}),

View File

@ -7,9 +7,9 @@ import (
)
// V2rayKey is the key type of Instance in Context, exported for test.
type V2rayKey int
type v2rayKeyType int
const v2rayKey V2rayKey = 1
const v2rayKey v2rayKeyType = 1
// FromContext returns an Instance from the given context, or nil if the context doesn't contain one.
func FromContext(ctx context.Context) *Instance {