Commit Graph

5 Commits (e3e4c39f2144bbe4bc40a8638af0899cf5a101be)

Author SHA1 Message Date
Dustin e3e4c39f21 mac: Add test for MacAddress::from_string 2018-09-19 22:38:55 -05:00
Dustin c0b462d8ac mac: Add MacAddress type
The `MacAddress` structure represents a 48-bit hardware address. Using a
dedicated type instead of an array will make it easier to validate
inputs and ensure type safety.
2018-08-17 20:12:52 -05:00
Dustin 8b0ce4c5be magic: Add MagicPacket.send_to method
On the off chance that the magic packet needs to be sent to a
destination other than port 9 on the subnet-directed broadcast address,
the `send_to` method is now available on the `MagicPacket` structure.
The `send` method is retained, and now simply delegates to the `send_to`
method with a hard-coded socket address.
2018-08-16 23:00:47 -05:00
Dustin 9b0fb35ed5 magic: Use an iterator to generate the byte stream
Instead of explicitly writing the byte array for the magic packet
content, the `MagicPacket.send` method now delegates to
`MagicPacketIterator`. It collects the values the iterator produces,
which are determined based on the number of times the `next` method has
been called, into a vector, and then passes a slice of that vector to
the `send` method of the UDP socket.

Using a vector of course requires allocating space on the heap, so while
this method is probably not as efficient as the previous stack-allocated
static array, it is certainly cleaner and easier to understand.
2018-08-16 22:59:55 -05:00
Dustin 84bf8c04cd Initial commit 2018-08-14 22:09:15 -05:00