ESP-IDF
ot::AddressResolver::CacheEntry
is only used within ESP-IDF.
Symbol previews are coming soon...
Symbols
loading (4/5)...
Files
loading (4/5)...
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
Code
Location
Scope
Referrer
class
CacheEntry
:
public
InstanceLocatorInit
address_resolver.hpp:242
class
CacheEntry
;
address_resolver.hpp:71
const
CacheEntry
*
entry
=
aIterator
.
GetEntry
(
)
;
address_resolver.cpp:80
ot::AddressResolver::GetNextCacheEntry() const
AddressResolver
::
CacheEntry
*
AddressResolver
::
GetEntryAfter
(
CacheEntry
*
aPrev
,
CacheEntryList
&
aList
)
address_resolver.cpp:161
ot::AddressResolver
ot::AddressResolver::GetEntryAfter()
AddressResolver
::
CacheEntry
*
AddressResolver
::
FindCacheEntry
(
const
Ip6
::
Address
&
aEid
,
address_resolver.cpp:194
ot::AddressResolver
ot::AddressResolver::FindCacheEntry()
CacheEntry
*
&
aPrevEntry
)
address_resolver.cpp:196
ot::AddressResolver::FindCacheEntry()
ot::AddressResolver::FindCacheEntry()::aPrevEntry
CacheEntry
*
entry
=
nullptr
;
address_resolver.cpp:198
ot::AddressResolver::FindCacheEntry()
CacheEntry
*
entry
;
address_resolver.cpp:216
ot::AddressResolver::Remove()
CacheEntry
*
prev
;
address_resolver.cpp:217
ot::AddressResolver::Remove()
AddressResolver
::
CacheEntry
*
AddressResolver
::
NewCacheEntry
(
bool
aSnoopedEntry
)
address_resolver.cpp:246
ot::AddressResolver
ot::AddressResolver::NewCacheEntry()
CacheEntry
*
newEntry
=
nullptr
;
address_resolver.cpp:248
ot::AddressResolver::NewCacheEntry()
CacheEntry
*
prevEntry
=
nullptr
;
address_resolver.cpp:249
ot::AddressResolver::NewCacheEntry()
void
AddressResolver
::
RemoveCacheEntry
(
CacheEntry
&
aEntry
,
address_resolver.cpp:312
ot::AddressResolver::RemoveCacheEntry()
ot::AddressResolver::RemoveCacheEntry()::aEntry
CacheEntry
*
aPrevEntry
,
address_resolver.cpp:314
ot::AddressResolver::RemoveCacheEntry()
ot::AddressResolver::RemoveCacheEntry()::aPrevEntry
CacheEntry
*
entry
;
address_resolver.cpp:335
ot::AddressResolver::UpdateCacheEntry()
CacheEntry
*
prev
;
address_resolver.cpp:336
ot::AddressResolver::UpdateCacheEntry()
CacheEntry
*
entry
;
address_resolver.cpp:370
ot::AddressResolver::UpdateSnoopedCacheEntry()
CacheEntry
*
tail
;
address_resolver.cpp:431
ot::AddressResolver::RestartAddressQueries()
CacheEntry
*
entry
;
address_resolver.cpp:471
ot::AddressResolver::Resolve()
CacheEntry
*
prev
=
nullptr
;
address_resolver.cpp:472
ot::AddressResolver::Resolve()
CacheEntry
*
entry
;
address_resolver.cpp:656
ot::AddressResolver::HandleTmf()
CacheEntry
*
prev
;
address_resolver.cpp:657
ot::AddressResolver::HandleTmf()
CacheEntry
*
prev
=
nullptr
;
address_resolver.cpp:991
ot::AddressResolver::HandleTimeTick()
CacheEntry
*
entry
;
address_resolver.cpp:992
ot::AddressResolver::HandleTimeTick()
const
CacheEntry
&
aEntry
,
address_resolver.cpp:1074
ot::AddressResolver::LogCacheEntryChange()
ot::AddressResolver::LogCacheEntryChange()::aEntry
void
AddressResolver
::
CacheEntry
::
Init
(
Instance
&
aInstance
)
address_resolver.cpp:1143
ot::AddressResolver::CacheEntry::Init()
AddressResolver
::
CacheEntry
*
AddressResolver
::
CacheEntry
::
GetNext
(
void
)
address_resolver.cpp:1150
ot::AddressResolver::CacheEntry
ot::AddressResolver::CacheEntry::GetNext()
const
AddressResolver
::
CacheEntry
*
AddressResolver
::
CacheEntry
::
GetNext
(
void
)
const
address_resolver.cpp:1155
ot::AddressResolver::CacheEntry
ot::AddressResolver::CacheEntry::GetNext() const
void
AddressResolver
::
CacheEntry
::
SetNext
(
CacheEntry
*
aEntry
)
address_resolver.cpp:1160
ot::AddressResolver::CacheEntry::SetNext()
ot::AddressResolver::CacheEntry::SetNext()::aEntry
const
CacheEntry
*
GetEntry
(
void
)
const
{
return
static_cast
<
const
CacheEntry
*
>
(
mData
[
kEntryIndex
]
)
;
}
address_resolver.hpp:85
ot::AddressResolver::Iterator::GetEntry() const
void
SetEntry
(
const
CacheEntry
*
aEntry
)
{
mData
[
kEntryIndex
]
=
aEntry
;
}
address_resolver.hpp:86
ot::AddressResolver::Iterator::SetEntry()
ot::AddressResolver::Iterator::SetEntry()::aEntry
CacheEntry
*
GetNext
(
void
)
;
address_resolver.hpp:247
ot::AddressResolver::CacheEntry
ot::AddressResolver::CacheEntry::GetNext()
const
CacheEntry
*
GetNext
(
void
)
const
;
address_resolver.hpp:248
ot::AddressResolver::CacheEntry
ot::AddressResolver::CacheEntry::GetNext() const
void
SetNext
(
CacheEntry
*
aEntry
)
;
address_resolver.hpp:249
ot::AddressResolver::CacheEntry::SetNext()
ot::AddressResolver::CacheEntry::SetNext()::aEntry
typedef
Pool
<
CacheEntry
,
kCacheEntries
>
CacheEntryPool
;
address_resolver.hpp:316
CacheEntry
*
FindCacheEntry
(
const
Ip6
::
Address
&
aEid
,
CacheEntryList
*
&
aList
,
CacheEntry
*
&
aPrevEntry
)
;
address_resolver.hpp:346
ot::AddressResolver
ot::AddressResolver::FindCacheEntry()
CacheEntry
*
NewCacheEntry
(
bool
aSnoopedEntry
)
;
address_resolver.hpp:347
ot::AddressResolver
ot::AddressResolver::NewCacheEntry()
void
RemoveCacheEntry
(
CacheEntry
&
aEntry
,
CacheEntryList
&
aList
,
CacheEntry
*
aPrevEntry
,
Reason
aReason
)
;
address_resolver.hpp:348
ot::AddressResolver::RemoveCacheEntry()
ot::AddressResolver::RemoveCacheEntry()::aEntry
const
CacheEntry
&
aEntry
,
address_resolver.hpp:374
ot::AddressResolver::LogCacheEntryChange()
ot::AddressResolver::LogCacheEntryChange()::aEntry
static
AddressResolver
::
CacheEntry
*
GetEntryAfter
(
CacheEntry
*
aPrev
,
CacheEntryList
&
aList
)
;
address_resolver.hpp:378
ot::AddressResolver
ot::AddressResolver::GetEntryAfter()
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
ot::AddressResolver::CacheEntry
is inherited by 1 classes:
All items filtered out
ot::AddressResolver::CacheEntry
ot::InstanceLocatorInit
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
Instance
Scope
Location
Project
return
ot::AddressResolver::Iterator::GetEntry() const
address_resolver.hpp:85
ot::AddressResolver::Iterator::SetEntry()::aEntry
ot::AddressResolver::Iterator::SetEntry()
address_resolver.hpp:86
return
ot::AddressResolver::CacheEntry::GetNext()
address_resolver.hpp:247
return
ot::AddressResolver::CacheEntry::GetNext() const
address_resolver.hpp:248
ot::AddressResolver::CacheEntry::SetNext()::aEntry
ot::AddressResolver::CacheEntry::SetNext()
address_resolver.hpp:249
return
ot::AddressResolver::FindCacheEntry()
address_resolver.hpp:346
ot::AddressResolver::FindCacheEntry()::aPrevEntry
ot::AddressResolver::FindCacheEntry()
address_resolver.hpp:346
return
ot::AddressResolver::NewCacheEntry()
address_resolver.hpp:347
ot::AddressResolver::RemoveCacheEntry()::aEntry
ot::AddressResolver::RemoveCacheEntry()
address_resolver.hpp:348
ot::AddressResolver::RemoveCacheEntry()::aPrevEntry
ot::AddressResolver::RemoveCacheEntry()
address_resolver.hpp:348
ot::AddressResolver::LogCacheEntryChange()::aEntry
ot::AddressResolver::LogCacheEntryChange()
address_resolver.hpp:374
return
ot::AddressResolver::GetEntryAfter()
address_resolver.hpp:378
ot::AddressResolver::GetEntryAfter()::aPrev
ot::AddressResolver::GetEntryAfter()
address_resolver.hpp:378
return
ot::AddressResolver::GetEntryAfter()
address_resolver.cpp:161
ot::AddressResolver::GetEntryAfter()::aPrev
ot::AddressResolver::GetEntryAfter()
address_resolver.cpp:161
return
ot::AddressResolver::FindCacheEntry()
address_resolver.cpp:194
ot::AddressResolver::FindCacheEntry()::aPrevEntry
ot::AddressResolver::FindCacheEntry()
address_resolver.cpp:196
return
ot::AddressResolver::NewCacheEntry()
address_resolver.cpp:246
ot::AddressResolver::RemoveCacheEntry()::aEntry
ot::AddressResolver::RemoveCacheEntry()
address_resolver.cpp:312
ot::AddressResolver::RemoveCacheEntry()::aPrevEntry
ot::AddressResolver::RemoveCacheEntry()
address_resolver.cpp:314
ot::AddressResolver::LogCacheEntryChange()::aEntry
ot::AddressResolver::LogCacheEntryChange()
address_resolver.cpp:1074
return
ot::AddressResolver::CacheEntry::GetNext()
address_resolver.cpp:1150
return
ot::AddressResolver::CacheEntry::GetNext() const
address_resolver.cpp:1155
ot::AddressResolver::CacheEntry::SetNext()::aEntry
ot::AddressResolver::CacheEntry::SetNext()
address_resolver.cpp:1160
Lifecycle
from
examples
All items filtered out
All items filtered out