peerhub

package module
v0.0.0-...-eb3b6b4 Latest Latest
Warning

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

Go to latest
Published: May 3, 2024 License: Unlicense Imports: 2 Imported by: 0

README

peerhub

GoDoc Go Report Card codecov build

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrOfferingPeerNotFound       = errors.New("offering peer not found")
	ErrOfferingPeerAlreadyExists  = errors.New("offering peer already exists")
	ErrAnsweringPeerNotFound      = errors.New("answering peer not found")
	ErrAnsweringPeerAlreadyExists = errors.New("answering peer already exists")
	ErrInvalidAccessKey           = errors.New("invalid access key")
	ErrInvalidManagementKey       = errors.New("invalid management key")
)
View Source
var (
	ErrOfferNotFound  = errors.New("offer not found")
	ErrAnswerNotFound = errors.New("answer not found")
)

Functions

This section is empty.

Types

type Answer

type Answer struct {
	ID            string `json:"id"`
	OfferID       string `json:"offerid"`
	AnsweringPeer string `json:"answeringpeer"`
	SDP           string `json:"sdp"`
}

func NewAnswer

func NewAnswer(offerID, apName, apSDP string) Answer

type AnsweringPeer

type AnsweringPeer struct {
	Name          string
	AccessKeys    []string
	ManagementKey string
}

func (*AnsweringPeer) AccessKeyMatches

func (ap *AnsweringPeer) AccessKeyMatches(key string) bool

func (*AnsweringPeer) ManagementKeyMatches

func (ap *AnsweringPeer) ManagementKeyMatches(key string) bool

type AnsweringPeerPreview

type AnsweringPeerPreview struct {
	Name      string
	Protected bool
}

type CreateAnswerRequest

type CreateAnswerRequest struct {
	OfferID string `json:"offerID"`
	SDP     string `json:"sdp"`
}

type CreateAnsweringPeerRequest

type CreateAnsweringPeerRequest struct {
	Name          string   `json:"name"`
	AccessKeys    []string `json:"accesskey"`
	ManagementKey string   `json:"managementkey"`
}

type CreateOfferingPeerRequest

type CreateOfferingPeerRequest struct {
	Name            string `json:"name"`
	TargetName      string `json:"targetname"`
	TargetAccessKey string `json:"targetaccesskey"`
	ManagementKey   string `json:"managementkey"`
	SDP             string `json:"sdp"`
	Delete          bool   `json:"delete"`
}

type DealForAnsweringPeerRequest

type DealForAnsweringPeerRequest struct {
	OfferingPeerName  string `json:"offeringpeername"`
	AnsweringPeerName string `json:"answeringpeername"`
	AccessKey         string `json:"accesskey"`
	SDP               string `json:"sdp"`
}

type DeleteAnsweringPeerRequest

type DeleteAnsweringPeerRequest struct {
	PeerID string
}

type DeleteOfferingPeerRequest

type DeleteOfferingPeerRequest struct {
	PeerID string
}

type FailedOffer

type FailedOffer struct {
	OfferingPeer  string `json:"offeringpeer"`
	AnsweringPeer string `json:"answeringpeer"`
	Error         error  `json:"error"`
}

type Hub

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

func NewHub

func NewHub(cfg HubConfig) *Hub

func (*Hub) CreateAnswer

func (h *Hub) CreateAnswer(req CreateAnswerRequest) (Answer, Offer, error)

CreateAnswer creates an answer and returns the Offer which the answer relates to

func (*Hub) CreateAnsweringPeer

func (h *Hub) CreateAnsweringPeer(req CreateAnsweringPeerRequest) (AnsweringPeer, error)

func (*Hub) CreateOfferingPeer

func (h *Hub) CreateOfferingPeer(req CreateOfferingPeerRequest) (OfferingPeer, error)

func (*Hub) DeleteAnsweringPeer

func (h *Hub) DeleteAnsweringPeer(_ DeleteAnsweringPeerRequest) error

func (*Hub) DeleteOfferingPeer

func (h *Hub) DeleteOfferingPeer(_ DeleteOfferingPeerRequest) error

func (*Hub) GetAnsweringPeersPrevies

func (h *Hub) GetAnsweringPeersPrevies() ([]AnsweringPeerPreview, error)

func (*Hub) OfferFromOfferingPeer

func (h *Hub) OfferFromOfferingPeer(op OfferingPeer) (offer Offer, failedOffer FailedOffer, isOffer, isFailed bool, err error)

func (*Hub) OffersForAnsweringPeer

func (h *Hub) OffersForAnsweringPeer(ap AnsweringPeer) ([]Offer, []FailedOffer, error)

type HubConfig

type HubConfig struct {
	PeerService   PeerService
	SignalService SignalService
}

type Offer

type Offer struct {
	ID            string `json:"id"`
	OfferingPeer  string `json:"offeringpeer"`
	AnsweringPeer string `json:"answeringpeer"`
	SDP           string `json:"sdp"`
}

func NewOffer

func NewOffer(opName, sdp, apName string) Offer

type OfferingPeer

type OfferingPeer struct {
	Name            string
	TargetName      string
	TargetAccessKey string
	ManagementKey   string
	SDP             string
	Delete          bool
	IgnoreNotFound  bool
}

func (*OfferingPeer) ManagementKeyMatches

func (op *OfferingPeer) ManagementKeyMatches(key string) bool

type PeerService

type PeerService interface {
	CreateAnsweringPeer(AnsweringPeer) error
	UpdateAnsweringPeer(AnsweringPeer) error
	GetAnsweringPeer(name string) (AnsweringPeer, error)
	GetAnsweringPeers() ([]AnsweringPeer, error)
	DeleteAnsweringPeer(name string) error

	CreateOfferingPeer(OfferingPeer) error
	UpdateOfferingPeer(OfferingPeer) error
	GetOfferingPeer(name string) (OfferingPeer, error)
	GetOfferingPeersByTarget(name string) ([]OfferingPeer, error)
	DeleteOfferingPeer(name string) error
}

type SignalService

type SignalService interface {
	CreateOffer(Offer) error
	GetOffer(offerID string) (Offer, error)
	DeleteOffer(offerID string) error

	CreateAnswer(Answer) error
	GetAnswer(answerID string) (Answer, error)
	DeleteAnswer(answerID string) error
}

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

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