chore: refine code struct

This commit is contained in:
AkinoKaede 2023-05-29 08:34:33 +08:00 committed by Shelikhoo
parent c324d3af70
commit 5f6031b1e8
No known key found for this signature in database
GPG Key ID: C4D5E79D22B25316
7 changed files with 19 additions and 17 deletions

View File

@ -1,4 +1,4 @@
package tun
package gvisor
import "github.com/v2fly/v2ray-core/v5/common/errors"

View File

@ -1,3 +1,3 @@
package tun
package gvisor
//go:generate go run github.com/v2fly/v2ray-core/v5/common/errors/errorgen

View File

@ -2,7 +2,7 @@
// +build linux
// +build linux,amd64 linux,arm64
package tun
package gvisor
import (
"fmt"
@ -21,7 +21,7 @@ const (
ifReqSize = unix.IFNAMSIZ + 64
)
type TUN struct {
type GvisorTUN struct {
stack.LinkEndpoint
options device.Options
@ -31,7 +31,7 @@ type TUN struct {
}
func New(options device.Options) (device.Device, error) {
t := &TUN{options: options}
t := &GvisorTUN{options: options}
if len(options.Name) > unix.IFNAMSIZ {
return nil, newError("name too long").AtError()
@ -72,7 +72,7 @@ func New(options device.Options) (device.Device, error) {
return t, nil
}
func (t *TUN) Close() error {
func (t *GvisorTUN) Close() error {
return unix.Close(t.fd)
}

View File

@ -0,0 +1,10 @@
//go:build !linux || (linux && !(amd64 || arm64))
// +build !linux linux,!amd64,!arm64
package gvisor
import "github.com/v2fly/v2ray-core/v5/app/tun/device"
func New(options device.Options) (device.Device, error) {
return nil, newError("not supported").AtError()
}

View File

@ -8,7 +8,7 @@ import (
core "github.com/v2fly/v2ray-core/v5"
"github.com/v2fly/v2ray-core/v5/app/tun/device"
"github.com/v2fly/v2ray-core/v5/app/tun/device/tun"
"github.com/v2fly/v2ray-core/v5/app/tun/device/gvisor"
"github.com/v2fly/v2ray-core/v5/common"
"github.com/v2fly/v2ray-core/v5/features/policy"
"github.com/v2fly/v2ray-core/v5/features/routing"
@ -31,7 +31,7 @@ func (t *TUN) Type() interface{} {
}
func (t *TUN) Start() error {
DeviceConstructor := tun.New
DeviceConstructor := gvisor.New
device, err := DeviceConstructor(device.Options{
Name: t.config.Name,
MTU: t.config.Mtu,

View File

@ -34,6 +34,7 @@ import (
_ "github.com/v2fly/v2ray-core/v5/app/instman"
_ "github.com/v2fly/v2ray-core/v5/app/observatory"
_ "github.com/v2fly/v2ray-core/v5/app/restfulapi"
_ "github.com/v2fly/v2ray-core/v5/app/tun"
// Inbound and outbound proxies.
_ "github.com/v2fly/v2ray-core/v5/proxy/blackhole"

View File

@ -1,9 +0,0 @@
//go:build linux && ((linux && amd64) || (linux && arm64))
// +build linux
// +build linux,amd64 linux,arm64
package all
import (
_ "github.com/v2fly/v2ray-core/v5/app/tun"
)