Thibaut Vandervelden
fb2d0029d8
Add support for 802.15.4 and 6LoWPAN
2021-10-21 01:25:12 +02:00
Thibaut Vandervelden
6a27136047
Fix clippy lints
2021-08-18 16:05:50 +02:00
Dario Nieuwenhuis
98fe17890a
rustfmt
2021-06-27 09:31:59 +02:00
Dario Nieuwenhuis
32311b23dc
Add Context struct.
2021-06-17 03:20:58 +02:00
Dario Nieuwenhuis
ab47db24e0
udp: do not include payload in UdpRepr
...
This makes UdpRepr work like IpRepr, where it only emits the header, and the user
must emit the payload.
This makes it easier to emit UDP packets with payloads that come from protocol-specific
reprs, like DHCP and in the future DNS.
2021-04-07 14:49:46 +02:00
Dario Nieuwenhuis
d64c8593f0
Add defmt logging support
2021-04-01 01:30:47 +02:00
Dario Nieuwenhuis
b6220a04c8
Do not use DeviceCapabilities in sockets.
...
DeviceCapabilities contains the `medium` field, so tests had to give it a value
even if it was unused. This is impossible to do with no `medium-*` enabled, because
it makes `Medium` uninhabited (empty enum).
2021-03-31 17:05:09 +02:00
Dario Nieuwenhuis
c09ca370b2
Simplify Socket lifetimes
2021-01-09 01:59:02 +01:00
Dario Nieuwenhuis
88256dbdcf
Update to Rust 2018. Fixes #271
2020-12-27 17:54:56 +01:00
Dario Nieuwenhuis
4e11070ff4
Async/await waker support.
2020-12-27 17:31:49 +01:00
Alex Crawford
c9f57150a8
Dereference match expressions to clean up patterns
...
These were flagged by `cargo clippy`:
warning: you don't need to add `&` to all patterns
2020-12-26 10:32:51 -08:00
Scott Mabin
d7916c9a92
Add capacity methods to all sockets.
2019-11-05 23:07:12 +00:00
whitequark
5bcb358eb5
Rename `new` method on Packet types to `new_checked`.
...
Fixes #195 .
Closes : #254
Approved by: dlrobertson
2018-07-11 12:59:05 +08:00
Dan Robertson
126f144295
Update docs and fix warnings
...
Closes : #238
Approved by: dlrobertson
2018-06-18 10:49:16 +08:00
Ole Martin Ruud
0c59e3f5f9
Implement new type for `poll_at`
...
Change return-type for `poll_at` for sockets to be a `PollAt` instead of
the former `Option<Instant>`.
Closes : #216
Approved by: whitequark
2018-05-17 06:17:47 +08:00
Valentin Lorentz
2d716883b6
Add support for IPv6 gateways.
...
Closes : #207
Approved by: dlrobertson
2018-05-14 09:39:39 +08:00
Valentin Lorentz
2afc538fd9
Add support for IPv6 to ICMP sockets.
...
Closes : #205
Approved by: whitequark
2018-05-10 07:12:33 +08:00
whitequark
485b46a5e6
fn PacketMetadata::empty() → const PacketMetadata::EMPTY.
...
Fixes #181 .
2018-03-24 03:23:37 +00:00
whitequark
3d12690009
Use storage::PacketBuffer for implementing socket::IcmpSocket.
...
This substantially increases its space efficiency.
2018-02-22 12:23:35 +00:00
Dan Robertson
9747733dd7
Use time types in socket
...
Use the time types (Instant and Duration) in the socket modules instead
of a simple u64.
Closes : #141
Approved by: whitequark
2018-02-16 10:44:03 +08:00
Philipp Oppermann
6b3f103c05
Return specific sockets from `new` functions instead of `Socket`.
...
* Add Into<Socket> implementations for sockets
* Make SocketSet::add generic over Into<Socket>
2018-01-28 14:36:23 +00:00
Dan Robertson
c5c2264cdc
Use hop limit instead of ttl
...
Use hop limit instead of ttl for method and member names.
2017-12-18 13:47:34 +00:00
Dan Robertson
888b098dca
Process the Icmpv4Repr in IcmpSocket::process
...
- Use the Icmpv4Repr in IcmpSocket::process instead of the raw payload.
- Update the IcmpSocket tests.
2017-12-09 00:10:09 +00:00
whitequark
ff530020dd
Style. NFC.
2017-11-22 07:44:03 +00:00
whitequark
6c83936872
Extract socket handle into a new SocketMeta structure.
...
This paves way for adding more metadata apart from handles,
such as caches and so on.
This commit also removes SocketHandle::EMPTY in favor of
SocketHandle::default() since they are functionally identical.
2017-11-22 03:50:09 +00:00
whitequark
959e4829a9
Fix ICMP socket documentation. NFC.
2017-11-13 04:54:49 +00:00
whitequark
19373c58c8
Style. NFCI.
2017-11-09 02:07:24 +00:00
Dan Robertson
adb5014780
Add ICMP sockets
...
- Add support for ICMP sockets
- Add tests for ICMP sockets
- Rename proto-<type> features to socket-<type>
- Update documentation
2017-11-09 00:08:24 +00:00