From 9b995e02371e45e8cb5806ee7c7eb8139bf24fd8 Mon Sep 17 00:00:00 2001 From: xegineering Date: Thu, 3 Oct 2024 18:56:14 +0200 Subject: Remove soundbox.Client This data structure only contained a net.HardwareAddr and did not provide much more useful functionality. Thus the net.HardwareAddr type should be used directly. --- client.go | 31 ------------------------------- client_test.go | 25 ------------------------- examples_test.go | 21 --------------------- stream.go | 5 +++++ 4 files changed, 5 insertions(+), 77 deletions(-) delete mode 100644 client.go delete mode 100644 client_test.go delete mode 100644 examples_test.go create mode 100644 stream.go diff --git a/client.go b/client.go deleted file mode 100644 index 3b681eb..0000000 --- a/client.go +++ /dev/null @@ -1,31 +0,0 @@ -package soundbox - -import ( - "fmt" - "net" -) - -// streamingPort is the default network port a soundbox is listening to for -// incoming audio stream data. -const streamingPort = 5316 - -type Client struct { - HardwareAddr net.HardwareAddr -} - -func NewClient(mac string) (Client, error) { - hardwareAddr, err := net.ParseMAC(mac) - if err != nil { - return Client{}, err - } - - return fromHardwareAddr(hardwareAddr) -} - -func fromHardwareAddr(addr net.HardwareAddr) (Client, error) { - if len(addr) != 6 { - return Client{}, fmt.Errorf("Only IEEE 802 MAC-48 addresses supported") - } - - return Client{HardwareAddr: addr}, nil -} diff --git a/client_test.go b/client_test.go deleted file mode 100644 index 35e3624..0000000 --- a/client_test.go +++ /dev/null @@ -1,25 +0,0 @@ -package soundbox - -import ( - "testing" -) - -func TestNewClient(t *testing.T) { - // valid MAC should succeed - _, err := NewClient("12:34:56:ab:cd:ef") - if err != nil { - t.Fatalf("NewClient() failed: %v", err) - } - - // invalid MAC should fail - _, err = NewClient("12:34:56:ab:cd") - if err == nil { - t.Fatalf("NewClient() failed: %v", err) - } - - // No EUI-64 supported - _, err = NewClient("12:34:56:ab:cd:ef:12:45") - if err == nil { - t.Fatalf("NewClient() failed: %v", err) - } -} diff --git a/examples_test.go b/examples_test.go deleted file mode 100644 index 8d233db..0000000 --- a/examples_test.go +++ /dev/null @@ -1,21 +0,0 @@ -package soundbox_test - -import ( - "fmt" - "log" - - "xengineering.eu/soundbox" -) - -// ExampleClient demonstrates how to instantiate a Client struct. The used MAC -// address is from an address range suitable for documentation according to -// https://www.rfc-editor.org/rfc/rfc9542.html#name-48-bit-mac-documentation-va. -func ExampleClient() { - s, err := soundbox.NewClient("00:00:5E:00:53:01") - if err != nil { - log.Fatal(err) - } - - fmt.Printf("Client with MAC address %v", s.HardwareAddr) - // Output: Client with MAC address 00:00:5e:00:53:01 -} diff --git a/stream.go b/stream.go new file mode 100644 index 0000000..38b3727 --- /dev/null +++ b/stream.go @@ -0,0 +1,5 @@ +package soundbox + +// streamingPort is the default network port a soundbox is listening to for +// incoming audio stream data. +const streamingPort = 5316 -- cgit v1.2.3-70-g09d2