Files
cunicu/pkg/signaling/mcast/config.go
2025-03-23 13:15:09 +01:00

37 lines
635 B
Go

// SPDX-FileCopyrightText: 2025 Adam Rizkalla <ajarizzo@gmail.com>
// SPDX-License-Identifier: Apache-2.0
//go:build linux
package mcast
import (
"fmt"
"net"
"cunicu.li/cunicu/pkg/signaling"
)
type BackendOptions struct {
Interface *net.Interface
Loopback bool
}
type BackendConfig struct {
signaling.BackendConfig
Target string
Options BackendOptions
}
func (c *BackendConfig) Parse(cfg *signaling.BackendConfig) (err error) {
c.BackendConfig = *cfg
c.Target, c.Options, err = ParseURL(c.BackendConfig.URI.String())
if err != nil {
return fmt.Errorf("failed to parse multicast URL: %w", err)
}
return nil
}