Add error return from registering controllers

This commit is contained in:
albexk
2024-05-27 13:15:05 +03:00
parent 31a1981653
commit 815742c221

View File

@@ -3,25 +3,28 @@ package libXray
import (
"syscall"
"github.com/amnezia-vpn/amnezia-libxray/nodep"
xinternet "github.com/amnezia-vpn/amnezia-xray-core/transport/internet"
)
// Give a callback before connection beginning. Useful for Android development.
// It depends on xray:api:beta
func RegisterDialerController(controller DialerController) {
xinternet.RegisterDialerController(func(network, address string, conn syscall.RawConn) error {
func RegisterDialerController(controller DialerController) string {
err := xinternet.RegisterDialerController(func(network, address string, conn syscall.RawConn) error {
return conn.Control(func(fd uintptr) {
controller.ProtectFd(int(fd))
})
})
return nodep.WrapError(err)
}
// Give a callback before listener beginning. Useful for Android development.
// It depends on xray:api:beta
func RegisterListenerController(controller DialerController) {
xinternet.RegisterListenerController(func(network, address string, conn syscall.RawConn) error {
func RegisterListenerController(controller DialerController) string {
err := xinternet.RegisterListenerController(func(network, address string, conn syscall.RawConn) error {
return conn.Control(func(fd uintptr) {
controller.ProtectFd(int(fd))
})
})
return nodep.WrapError(err)
}