horn_net
Bounded Ethernet transport, TCP listeners and independently scoped connections.
On this page
- EthernetInfo (Record)
- FrameChunk (Record)
- NetError (EnumDecl)
- TcpEvents (FlagsDecl)
- EthernetInterface (Interface)
- TcpFactory (Interface)
- TcpServer (Interface)
- TcpConnection (Interface)
- EthernetObject (Object)
- TcpServerObject (Object)
- TcpConnectionObject (Object)
- TcpHost (Object)
Interfaces
EthernetInterface #
net.nhnn.horn.net.ethernet, version 1.0, default transport sync, strict
info #
info() → Result[EthernetInfo, NetError]
Transport: sync, label: 0xdd0ffd203f959
receive #
receive() → Result[FrameChunk, NetError]
Transport: sync, label: 0xb0a3db582c078
begin #
begin(length: u32) → Result[void, NetError]
Transport: sync, label: 0x8577e7f2cae65
append #
append(data: List[u8, 512]) → Result[void, NetError]
Transport: sync, label: 0x4b6049ea459af
commit #
commit() → Result[void, NetError]
Transport: sync, label: 0x906995d18c8b4
watch #
watch(signal: Cap[sel4.Notification, borrow, ALL], generation: u64) → Result[void, NetError]
Transport: sync, label: 0xa7a91f7ce16f
Request capabilities
| Path | Target | Transfer | Rights |
|---|---|---|---|
signal |
sel4.Notification |
borrow | ALL |
TcpFactory #
net.nhnn.horn.net.tcp.factory, version 1.0, default transport sync, strict
listen #
listen(port: u32) → Result[Cap[TcpServerObject, move, ALL], NetError]
Transport: sync, label: 0xe2c0c340b64e5
Result capabilities
| Path | Target | Transfer | Rights |
|---|---|---|---|
result.Ok |
TcpServerObject |
move | ALL |
TcpServer #
net.nhnn.horn.net.tcp.server, version 2.0, default transport sync, strict
accept #
accept() → Result[Cap[TcpConnectionObject, move, ALL], NetError]
Transport: sync, label: 0x387287ec57b82
Result capabilities
| Path | Target | Transfer | Rights |
|---|---|---|---|
result.Ok |
TcpConnectionObject |
move | ALL |
watch #
watch(signal: Cap[sel4.Notification, borrow, ALL], interests: TcpEvents) → Result[void, NetError]
Transport: sync, label: 0xcdfd9208698a
Request capabilities
| Path | Target | Transfer | Rights |
|---|---|---|---|
signal |
sel4.Notification |
borrow | ALL |
TcpConnection #
net.nhnn.horn.net.tcp.connection, version 1.0, default transport sync, strict
read #
read() → Result[List[u8, 256], NetError]
Transport: sync, label: 0xeb63385d59945
write #
write(data: List[u8, 256]) → Result[u32, NetError]
Transport: sync, label: 0x59fadecd249c8
finish #
finish() → Result[void, NetError]
Transport: sync, label: 0x2915c4216b9fe
watch #
watch(signal: Cap[sel4.Notification, borrow, ALL], interests: TcpEvents) → Result[void, NetError]
Transport: sync, label: 0x1fae7d63808a6
Request capabilities
| Path | Target | Transfer | Rights |
|---|---|---|---|
signal |
sel4.Notification |
borrow | ALL |
Objects
EthernetObject #
EthernetObject, transport sync
Implements: EthernetInterface
TcpServerObject #
TcpServerObject, transport sync
Implements: TcpServer
TcpConnectionObject #
TcpConnectionObject, transport sync
Implements: TcpConnection
TcpHost #
TcpHost, transport sync
Implements: TcpFactory, TcpServer, TcpConnection
Records
EthernetInfo #
Wire size: 32 bytes, alignment: 8, maximum capabilities: 0
| Field | Type | Byte offset |
|---|---|---|
mac |
List[u8, 6] |
0 |
mtu |
u32 |
16 |
generation |
u64 |
24 |
FrameChunk #
Wire size: 528 bytes, alignment: 8, maximum capabilities: 0
| Field | Type | Byte offset |
|---|---|---|
data |
List[u8, 512] |
0 |
remaining |
u32 |
520 |
Enums
NetError #
Base: u32
| Variant | Value |
|---|---|
| Invalid | 1 |
| WouldBlock | 2 |
| Closed | 3 |
| Denied | 4 |
| Exhausted | 5 |
Flags
TcpEvents #
Base: u32
| Variant | Value |
|---|---|
| READABLE | 1 |
| WRITABLE | 2 |
| ACCEPT | 4 |
| CLOSED | 8 |