package main import ( "github.com/pkg/errors" kcp "github.com/xtaci/kcp-go" "github.com/xtaci/tcpraw" ) func dial(config *Config, block kcp.BlockCrypt) (*kcp.UDPSession, error) { if config.TCP { conn, err := tcpraw.Dial("tcp", config.RemoteAddr) if err != nil { return nil, errors.Wrap(err, "tcpraw.Dial()") } return kcp.NewConn(config.RemoteAddr, block, config.DataShard, config.ParityShard, conn) } return kcp.DialWithOptions(config.RemoteAddr, block, config.DataShard, config.ParityShard) }