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