The Pedigree Project 0.1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
NetworkStack::DeviceLease Class Reference

#include <NetworkStack.h>

+ Collaboration diagram for NetworkStack::DeviceLease:

Public Member Functions

 DeviceLease (DeviceLease &&other)
 
DeviceLeaseoperator= (DeviceLease &&other)
 
Networkdevice () const
 
struct netifinterface () const
 
 operator bool () const
 

Private Member Functions

 DeviceLease (Network *device, struct netif *interface, OperationBarrier::Lease &&lease)
 
 DeviceLease (const DeviceLease &)=delete
 
DeviceLeaseoperator= (const DeviceLease &)=delete
 

Private Attributes

Networkm_Device
 
struct netifm_Interface
 
OperationBarrier::Lease m_Lease
 

Friends

class NetworkStack
 

Detailed Description

Pins one registered device and its lwIP interface until the lease leaves scope. Device deregistration removes the registration from discovery and waits for every admitted lease before returning. Device owners must deregister before the most-derived destructor begins and keep reader-visible state stable until deregistration returns.

Definition at line 52 of file NetworkStack.h.

Constructor & Destructor Documentation

◆ DeviceLease() [1/3]

NetworkStack::DeviceLease::DeviceLease ( )

Definition at line 52 of file NetworkStack.cc.

◆ DeviceLease() [2/3]

NetworkStack::DeviceLease::DeviceLease ( DeviceLease &&  other)

Definition at line 58 of file NetworkStack.cc.

◆ ~DeviceLease()

NetworkStack::DeviceLease::~DeviceLease ( )

Definition at line 66 of file NetworkStack.cc.

◆ DeviceLease() [3/3]

NetworkStack::DeviceLease::DeviceLease ( Network device,
struct netif interface,
OperationBarrier::Lease &&  lease 
)
private

Definition at line 54 of file NetworkStack.cc.

Member Function Documentation

◆ device()

Network * NetworkStack::DeviceLease::device ( ) const
inline

Definition at line 60 of file NetworkStack.h.

◆ interface()

struct netif * NetworkStack::DeviceLease::interface ( ) const
inline

Definition at line 64 of file NetworkStack.h.

◆ operator bool()

NetworkStack::DeviceLease::operator bool ( ) const
inlineexplicit

Definition at line 68 of file NetworkStack.h.

◆ operator=()

NetworkStack::DeviceLease & NetworkStack::DeviceLease::operator= ( DeviceLease &&  other)

Definition at line 68 of file NetworkStack.cc.

Friends And Related Symbol Documentation

◆ NetworkStack

friend class NetworkStack
friend

Definition at line 73 of file NetworkStack.h.

Member Data Documentation

◆ m_Device

Network* NetworkStack::DeviceLease::m_Device
private

Definition at line 80 of file NetworkStack.h.

◆ m_Interface

struct netif* NetworkStack::DeviceLease::m_Interface
private

Definition at line 81 of file NetworkStack.h.

◆ m_Lease

OperationBarrier::Lease NetworkStack::DeviceLease::m_Lease
private

Definition at line 82 of file NetworkStack.h.


The documentation for this class was generated from the following files: