Files
zeekay 241625e7d9 rename: ziti → zt across all paths
- Repo names: ziti-* → zt-*
- Go modules: github.com/hanzozt/ziti → github.com/hanzozt/zt
- Docker images: hanzozt/ziti-* → hanzozt/zt-*
- C/Java/JS symbols: ziti_* → zt_*
- File and directory names updated
2026-02-18 18:34:19 -08:00

39 lines
1.3 KiB
Go

package tests
import (
"math/big"
"github.com/hanzozt/channel/v4"
"github.com/hanzozt/foundation/v2/versions"
"github.com/hanzozt/transport/v2"
"github.com/hanzozt/zt/v2/common/capabilities"
"github.com/hanzozt/zt/v2/common/pb/ctrl_pb"
"github.com/hanzozt/zt/v2/controller/config"
)
func (ctx *TestContext) NewControlChannelListener() channel.UnderlayListener {
config, err := config.LoadConfig(ControllerConfFile)
ctx.Req.NoError(err)
ctx.Req.NoError(config.Db.Close())
versionHeader, err := versions.StdVersionEncDec.Encode(versions.NewDefaultVersionProvider().AsVersionInfo())
ctx.Req.NoError(err)
capabilityMask := &big.Int{}
capabilityMask.SetBit(capabilityMask, capabilities.ControllerCreateTerminatorV2, 1)
capabilityMask.SetBit(capabilityMask, capabilities.ControllerSingleRouterLinkSource, 1)
headers := map[int32][]byte{
channel.HelloVersionHeader: versionHeader,
int32(ctrl_pb.ControlHeaders_CapabilitiesHeader): capabilityMask.Bytes(),
}
ctrlChannelListenerConfig := channel.ListenerConfig{
ConnectOptions: config.Ctrl.Options.ConnectOptions,
Headers: headers,
TransportConfig: transport.Configuration{"protocol": "zt-ctrl"},
}
ctrlListener := channel.NewClassicListener(config.Id, config.Ctrl.Listener, ctrlChannelListenerConfig)
ctx.Req.NoError(ctrlListener.Listen())
return ctrlListener
}