ESP-IDF
ot::AddressResolver::CacheEntry
is only used within ESP-IDF.
Symbol previews are coming soon...
Symbols
loading...
Files
loading...
Summary
Syntax
Methods
Related
Examples
References
Call Tree
Data Use
Class Tree
Override Tree
Implementations
Instances
Lifecycle
SourceVu
ESP-IDF Framework and Examples
ESP-IDF
ot::AddressResolver::CacheEntry
ot::AddressResolver::CacheEntry class
Syntax
Show:
Summary
Declaration
Definition
from
address_resolver.hpp:71
class
CacheEntry
;
class
CacheEntryList
;
public
:
class
Iterator
:
public
otCacheEntryIterator
,
public
Clearable
<
Iterator
>
{
friend
class
AddressResolver
;
static
constexpr
uint8_t
kListIndex
=
0
;
static
constexpr
uint8_t
kEntryIndex
=
1
;
const
CacheEntry
*
GetEntry
(
void
)
const
{
return
static_cast
<
const
CacheEntry
*
>
(
mData
[
kEntryIndex
]
)
;
}
void
SetEntry
(
const
CacheEntry
*
aEntry
)
{
mData
[
kEntryIndex
]
=
aEntry
;
}
const
CacheEntryList
*
GetList
(
void
)
const
{
return
static_cast
<
const
CacheEntryList
*
>
(
mData
[
kListIndex
]
)
;
}
void
SetList
(
const
CacheEntryList
*
aList
)
{
mData
[
kListIndex
]
=
aList
;
}
}
;
class
EntryInfo
:
public
otCacheEntryInfo
,
public
Clearable
<
EntryInfo
>
{
public
:
enum
State
:
uint8_t
{
kStateCached
=
OT_CACHE_ENTRY_STATE_CACHED
,
kStateSnooped
=
OT_CACHE_ENTRY_STATE_SNOOPED
,
kStateQuery
=
OT_CACHE_ENTRY_STATE_QUERY
,
kStateRetryQuery
=
OT_CACHE_ENTRY_STATE_RETRY_QUERY
,
}
;
}
;
explicit
AddressResolver
(
Instance
&
aInstance
)
;
#if
OPENTHREAD_FTD
void
Clear
(
void
)
;
Error
GetNextCacheEntry
(
EntryInfo
&
aInfo
,
Iterator
&
aIterator
)
const
;
void
RemoveEntriesForRloc16
(
uint16_t
aRloc16
)
;
void
RemoveEntriesForRouterId
(
uint8_t
aRouterId
)
;
void
RemoveEntryForAddress
(
const
Ip6
::
Address
&
aEid
)
;
void
ReplaceEntriesForRloc16
(
uint16_t
aOldRloc16
,
uint16_t
aNewRloc16
)
;
void
UpdateSnoopedCacheEntry
(
const
Ip6
::
Address
&
aEid
,
uint16_t
aRloc16
,
uint16_t
aDest
)
;
Error
Resolve
(
const
Ip6
::
Address
&
aEid
,
uint16_t
&
aRloc16
)
{
return
Resolve
(
aEid
,
aRloc16
,
true
)
;
}
uint16_t
LookUp
(
const
Ip6
::
Address
&
aEid
)
;
void
RestartAddressQueries
(
void
)
;
void
SendAddressQueryResponse
(
const
Ip6
::
Address
&
aTarget
,
const
Ip6
::
InterfaceIdentifier
&
aMeshLocalIid
,
const
uint32_t
*
aLastTransactionTimeTlv
,
const
Ip6
::
Address
&
aDestination
)
;
void
SendAddressError
(
const
Ip6
::
Address
&
aTarget
,
const
Ip6
::
InterfaceIdentifier
&
aMeshLocalIid
,
const
Ip6
::
Address
*
aDestination
)
;
private
:
static
constexpr
uint16_t
kCacheEntries
=
OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_ENTRIES
;
static
constexpr
uint16_t
kMaxNonEvictableSnoopedEntries
=
OT_MAX
(
1
,
OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_MAX_SNOOP_ENTRIES
)
;
static
constexpr
uint16_t
kAddressQueryTimeout
=
OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_TIMEOUT
;
static
constexpr
uint16_t
kAddressQueryInitialRetryDelay
=
OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_INITIAL_RETRY_DELAY
;
static
constexpr
uint16_t
kAddressQueryMaxRetryDelay
=
OPENTHREAD_CONFIG_TMF_ADDRESS_QUERY_MAX_RETRY_DELAY
;
static
constexpr
uint16_t
kSnoopBlockEvictionTimeout
=
OPENTHREAD_CONFIG_TMF_SNOOP_CACHE_ENTRY_TIMEOUT
;
class
CacheEntry
:
public
InstanceLocatorInit
;
Implemented in
address_resolver.hpp:242
Fields
Field
Declared as
ot::AddressResolver::CacheEntry::kNoNextIndex
ot::AddressResolver::CacheEntry::kInvalidLastTransTime
ot::AddressResolver::CacheEntry::kFreshnessTimeout
ot::AddressResolver::CacheEntry::mTarget
Ip6
::
Address
ot::AddressResolver::CacheEntry::mRloc16
uint16_t
ot::AddressResolver::CacheEntry::mNextIndex
uint16_t
:
14
ot::AddressResolver::CacheEntry::mFreshnessTimeout
uint8_t
:
2
ot::AddressResolver::CacheEntry::mInfo
union
{
struct
{
uint32_t
mLastTransactionTime
;
Ip6
::
InterfaceIdentifier
mMeshLocalIid
;
}
mCached
;
struct
{
uint16_t
mTimeout
;
uint16_t
mRetryDelay
;
bool
mCanEvict
;
bool
mRampDown
;
}
mOther
;
}
Methods
Init()
GetNext()
GetNext() const
SetNext()
GetTarget() const
SetTarget()
GetRloc16() const
SetRloc16()
GetMeshLocalIid() const
SetMeshLocalIid()
GetLastTransactionTime() const
SetLastTransactionTime()
IsLastTransactionTimeValid() const
MarkLastTransactionTimeAsInvalid()
DecrementTimeout()
IsTimeoutZero() const
GetTimeout() const
SetTimeout()
DecrementFreshnessTimeout()
IsFreshnessTimeoutZero() const
ResetFreshnessTimeout()
GetRetryDelay() const
SetRetryDelay()
CanEvict() const
SetCanEvict()
IsInRampDown() const
SetRampDown()
Matches() const
Related Functions
Found 6 other functions taking a
CacheEntry
argument:
Function
ot::AddressResolver::LogCacheEntryChange()
ot::AddressResolver::FindCacheEntry()
ot::AddressResolver::Iterator::SetEntry()
ot::AddressResolver::RemoveCacheEntry()
ot::AddressResolver::CacheEntry::SetNext()
ot::AddressResolver::GetEntryAfter()
Examples
References
from
examples
Call Tree
from
examples
All items filtered out
All items filtered out
Data Use
from
examples
All items filtered out
All items filtered out
Class Tree
from
examples
All items filtered out
All items filtered out
Override Tree
from
examples
All items filtered out
All items filtered out
Implementations
from
examples
All items filtered out
All items filtered out
Instances
from
examples
Lifecycle
from
examples
All items filtered out
All items filtered out