Help us shape the future of Go! Take the 2026 Go Developer Survey

qa

package
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2025 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UserStatusUp           = "up"
	UserStatusDisconnected = "disconnected"
)

Variables

This section is empty.

Functions

func Map

func Map[A any, B any](in []A, f func(A) B) []B

Map applies f to each element of in and returns a new slice containing the transformed values.

func MapFilter

func MapFilter[A any, B any](in []A, f func(A) (B, bool)) []B

MapFilter applies f to each element of in and includes the result only when f returns ok == true, producing a filtered, transformed slice.

Types

type Client

type Client struct {
	Host string
	// contains filtered or unexported fields
}

func NewClient

func NewClient(ctx context.Context, log *slog.Logger, hostname string, port int, networkConfig *config.NetworkConfig, devices map[string]*Device) (*Client, error)

func (*Client) AddPublisherToMulticastGroupAllowlist

func (c *Client) AddPublisherToMulticastGroupAllowlist(ctx context.Context, code string, pubkey solana.PublicKey, clientIP string) error

func (*Client) AddSubscriberToMulticastGroupAllowlist

func (c *Client) AddSubscriberToMulticastGroupAllowlist(ctx context.Context, code string, pubkey solana.PublicKey, clientIP string) error

func (*Client) AddToMulticastGroupAllowlist

func (c *Client) AddToMulticastGroupAllowlist(ctx context.Context, code string, mode pb.MulticastAllowListAddRequest_MulticastMode, pubkey solana.PublicKey, clientIP string) error

func (*Client) Close

func (c *Client) Close() error

func (*Client) ConnectUserMulticast

func (c *Client) ConnectUserMulticast(ctx context.Context, multicastGroupCode string, mode pb.ConnectMulticastRequest_MulticastMode, waitForStatus bool) error

func (*Client) ConnectUserMulticast_Publisher_NoWait

func (c *Client) ConnectUserMulticast_Publisher_NoWait(ctx context.Context, multicastGroupCode string) error

func (*Client) ConnectUserMulticast_Publisher_Wait

func (c *Client) ConnectUserMulticast_Publisher_Wait(ctx context.Context, multicastGroupCode string) error

func (*Client) ConnectUserMulticast_Subscriber_NoWait

func (c *Client) ConnectUserMulticast_Subscriber_NoWait(ctx context.Context, multicastGroupCode string) error

func (*Client) ConnectUserMulticast_Subscriber_Wait

func (c *Client) ConnectUserMulticast_Subscriber_Wait(ctx context.Context, multicastGroupCode string) error

func (*Client) ConnectUserUnicast

func (c *Client) ConnectUserUnicast(ctx context.Context, deviceCode string, waitForStatus bool) error

func (*Client) ConnectUserUnicast_AnyDevice

func (c *Client) ConnectUserUnicast_AnyDevice(ctx context.Context, waitForStatus bool) error

func (*Client) ConnectUserUnicast_AnyDevice_NoWait

func (c *Client) ConnectUserUnicast_AnyDevice_NoWait(ctx context.Context) error

func (*Client) ConnectUserUnicast_AnyDevice_Wait

func (c *Client) ConnectUserUnicast_AnyDevice_Wait(ctx context.Context) error

func (*Client) ConnectUserUnicast_NoWait

func (c *Client) ConnectUserUnicast_NoWait(ctx context.Context, deviceCode string) error

func (*Client) CreateMulticastGroup

func (c *Client) CreateMulticastGroup(ctx context.Context, code string, maxBandwidth string) (*MulticastGroup, error)

func (*Client) DeleteMulticastGroup

func (c *Client) DeleteMulticastGroup(ctx context.Context, pubkey solana.PublicKey) error

func (*Client) DisconnectUser

func (c *Client) DisconnectUser(ctx context.Context, waitForStatus bool, waitForDeletion bool) error

func (*Client) GetCurrentDevice

func (c *Client) GetCurrentDevice(ctx context.Context) (*Device, error)

func (*Client) GetInstalledRoutes

func (c *Client) GetInstalledRoutes(ctx context.Context) ([]*pb.Route, error)

func (*Client) GetMulticastGroup

func (c *Client) GetMulticastGroup(ctx context.Context, code string) (*MulticastGroup, error)

func (*Client) GetOwnerPubkey

func (c *Client) GetOwnerPubkey(ctx context.Context) (solana.PublicKey, error)

func (*Client) GetUserStatus

func (c *Client) GetUserStatus(ctx context.Context) (*pb.Status, error)

func (*Client) MulticastJoin

func (c *Client) MulticastJoin(ctx context.Context, group *MulticastGroup) error

func (*Client) MulticastLeave

func (c *Client) MulticastLeave(ctx context.Context, code string) error

func (*Client) MulticastSend

func (c *Client) MulticastSend(ctx context.Context, group *MulticastGroup, duration time.Duration) error

func (*Client) PublicIP

func (c *Client) PublicIP() net.IP

func (*Client) SetLogger

func (c *Client) SetLogger(log *slog.Logger)

func (*Client) TestUnicastConnectivity

func (c *Client) TestUnicastConnectivity(ctx context.Context, targetClient *Client) (*UnicastTestConnectivityResult, error)

func (*Client) TracerouteRaw

func (c *Client) TracerouteRaw(ctx context.Context, targetIP string) (string, error)

func (*Client) WaitForMulticastReport

func (c *Client) WaitForMulticastReport(ctx context.Context, group *MulticastGroup) (*pb.MulticastReport, error)

func (*Client) WaitForRoutes

func (c *Client) WaitForRoutes(ctx context.Context, expectedIPs []net.IP) error

func (*Client) WaitForStatusDisconnected

func (c *Client) WaitForStatusDisconnected(ctx context.Context) error

func (*Client) WaitForStatusUp

func (c *Client) WaitForStatusUp(ctx context.Context) error

type Device

type Device struct {
	PubKey       string
	Code         string
	ExchangeCode string
	MaxUsers     int
	UsersCount   int
}

type MulticastGroup

type MulticastGroup struct {
	Code    string
	PK      solana.PublicKey
	IP      net.IP
	OwnerPK solana.PublicKey
	Status  serviceability.MulticastGroupStatus
}

type Test

type Test struct {
	// contains filtered or unexported fields
}

func NewTest

func NewTest(ctx context.Context, log *slog.Logger, hosts []string, port int, networkConfig *config.NetworkConfig) (*Test, error)

func (*Test) Clients

func (t *Test) Clients() []*Client

func (*Test) Close

func (c *Test) Close() error

func (*Test) Devices

func (t *Test) Devices() map[string]*Device

func (*Test) GetClient

func (c *Test) GetClient(host string) *Client

func (*Test) RandomClient

func (t *Test) RandomClient() *Client

func (*Test) RandomMulticastGroupCode

func (t *Test) RandomMulticastGroupCode() string

func (*Test) ShuffledValidDevices

func (c *Test) ShuffledValidDevices(minCapacity int) []*Device

func (*Test) ValidDevices

func (t *Test) ValidDevices(minCapacity int) []*Device

type UnicastTestConnectivityResult

type UnicastTestConnectivityResult struct {
	PacketsSent     uint32
	PacketsReceived uint32
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL