![]() |
Contur 2
Educational OS kernel simulator
|
Simulated network (LAN) device. More...
#include <network_device.h>
Public Member Functions | |
| NetworkDevice (std::size_t bufferCapacity=256) | |
| Constructs a network device with the given buffer capacity. | |
| ~NetworkDevice () override | |
| Destroys network device. | |
| NetworkDevice (const NetworkDevice &)=delete | |
| NetworkDevice & | operator= (const NetworkDevice &)=delete |
| NetworkDevice (NetworkDevice &&) noexcept | |
| Move-constructs network device state. | |
| NetworkDevice & | operator= (NetworkDevice &&) noexcept |
| Move-assigns network device state. | |
| DeviceId | id () const noexcept override |
| Returns the unique device identifier. | |
| std::string_view | name () const noexcept override |
| Returns the human-readable device name. | |
| Result< RegisterValue > | read () override |
| Reads a value from the device. | |
| Result< void > | write (RegisterValue value) override |
| Writes a value to the device. | |
| bool | isReady () const noexcept override |
| Returns true if the device is ready for I/O operations. | |
| std::size_t | bufferSize () const noexcept |
| Returns the number of values currently in the buffer. | |
| bool | hasData () const noexcept |
| Returns true if the buffer has unread data. | |
| Public Member Functions inherited from contur::IDevice | |
| virtual | ~IDevice ()=default |
Static Public Attributes | |
| static constexpr DeviceId | NETWORK_DEVICE_ID = 2 |
| Default network device ID. | |
Private Attributes | |
| std::unique_ptr< Impl > | impl_ |
Additional Inherited Members | |
| Protected Member Functions inherited from contur::IDevice | |
| IDevice ()=default | |
| IDevice (const IDevice &)=default | |
| IDevice & | operator= (const IDevice &)=default |
| IDevice (IDevice &&)=default | |
| IDevice & | operator= (IDevice &&)=default |
Simulated network (LAN) device.
Writes enqueue data into an internal send buffer. Reads dequeue from a receive buffer (loopback / echo mode for simulation).
Definition at line 19 of file network_device.h.
|
explicit |
Constructs a network device with the given buffer capacity.
| bufferCapacity | Maximum number of values in the send/receive buffer. |
Referenced by NetworkDevice(), NetworkDevice(), operator=(), and operator=().
|
override |
Destroys network device.
|
delete |
References NetworkDevice().
|
noexcept |
Move-constructs network device state.
References NetworkDevice().
|
nodiscardnoexcept |
Returns the number of values currently in the buffer.
References bufferSize().
Referenced by bufferSize().
|
nodiscardnoexcept |
|
nodiscardoverridevirtualnoexcept |
Returns the unique device identifier.
Implements contur::IDevice.
|
nodiscardoverridevirtualnoexcept |
Returns true if the device is ready for I/O operations.
Implements contur::IDevice.
References isReady().
Referenced by isReady().
|
nodiscardoverridevirtualnoexcept |
Returns the human-readable device name.
Implements contur::IDevice.
References name().
Referenced by name().
|
delete |
References NetworkDevice().
|
noexcept |
Move-assigns network device state.
References NetworkDevice().
|
nodiscardoverridevirtual |
Reads a value from the device.
Implements contur::IDevice.
References read().
Referenced by read().
|
nodiscardoverridevirtual |
Writes a value to the device.
| value | The value to write. |
Implements contur::IDevice.
References write().
Referenced by write().
|
private |
Definition at line 64 of file network_device.h.
|
staticconstexpr |
Default network device ID.
Definition at line 23 of file network_device.h.