nl::Inet::InetLayer
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
#include <src/inet/InetLayer.h>
단일 스레드에 대해 타이머, DNS (도메인 이름 시스템) 변환, TCP 네트워크 전송, UDP 네트워크 전송, 원시 네트워크 전송 등 인터넷 서비스에 대한 액세스를 제공합니다.
요약
BSD/POSIX 소켓의 경우, 이벤트 준비 알림은 파일 설명자와 플랫폼 적응에 대한 기존 폴 / 선택 구현을 통해 처리됩니다.
LwIP의 경우 이벤트 준비 알림은 이벤트/메시지 시스템에 대한 이벤트/메시지 및 플랫폼/시스템별 후크를 통해 처리됩니다.
공개 유형 |
|
---|---|
@5{
|
enum InetLayer 개체의 현재 상태입니다. |
DNSResolveCompleteFunct
|
typedefDNSResolver::OnResolveCompleteFunct
|
공개 함수 |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
아직 활성 상태일 수 있는 대기 중인 DNS 쿼리 (일치하는 완료 콜백 및 애플리케이션 상태)를 취소합니다.
|
DroppableEventDequeued(void)
|
void
|
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
|
지정된 IP 주소의 인터페이스 식별자를 가져옵니다.
|
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
|
지정된 링크 또는 인터페이스의 링크-로컬 IPv6 주소를 가져옵니다.
|
GetPlatformData(void)
|
void *
인스턴스에 할당된 클라이언트별 플랫폼 데이터가 이전에 설정된 경우 이를 반환합니다.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
특정 호출에서 I/O를 처리합니다.
|
Init(Weave::System::Layer & aSystemLayer, void *aContext)
|
InetLayer 명시적 이니셜라이저입니다.
|
InitQueueLimiter(void)
|
|
MatchLocalIPv6Subnet(const IPAddress & addr)
|
bool
지정된 IPv6 주소와 로컬에서 구성된 IPv6 주소 간에 접두사가 일치하는지 확인합니다.
|
NewRawEndPoint(IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint)
|
특정 IP 버전 및 프로토콜에 대한 새 RawEndPoint 객체를 만듭니다.
|
NewTCPEndPoint(TCPEndPoint **retEndPoint)
|
새 TCPEndPoint 객체를 만듭니다.
|
NewTunEndPoint(TunEndPoint **retEndPoint)
|
새 TunEndPoint 객체를 만듭니다.
|
NewUDPEndPoint(UDPEndPoint **retEndPoint)
|
새 UDPEndPoint 객체를 만듭니다.
|
PrepareSelect(int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime)
|
void
select() 에서 사용할 파일 설명자 세트를 준비합니다. |
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
지정된 호스트 이름의 IP 주소 확인을 수행합니다.
|
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
지정된 호스트 이름의 IP 주소 확인을 수행합니다.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
지정된 호스트 이름의 IP 주소 확인을 수행합니다.
|
SetPlatformData(void *aPlatformData)
|
void
이렇게 하면 클라이언트 플랫폼에서 나중에 검색할 수 있도록 지정된 클라이언트별 플랫폼 데이터가 인스턴스로 설정됩니다.
|
Shutdown(void)
|
|
SystemLayer(void) const
|
공개 정적 함수 |
|
---|---|
HandleInetLayerEvent(Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument)
|
Weave::System::Error
|
IsDroppableEvent(Weave::System::EventType aType)
|
bool
|
UpdateSnapshot(nl::Weave::System::Stats::Snapshot & aSnapshot)
|
void
|
공개 유형
@5
@5
InetLayer 개체의 현재 상태입니다.
속성 | |
---|---|
kState_Initialized
|
초기화된 상태입니다. |
kState_NotInitialized
|
초기화되지 않은 상태입니다. |
kState_ShutdownInProgress
|
종료가 트리거된 상태입니다. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
공개 속성
공개 정적 속성
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
공개 함수
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent(
void
)
CancelResolveHostAddress
void CancelResolveHostAddress(
DNSResolveCompleteFunct onComplete,
void *appState
)
아직 활성 상태일 수 있는 대기 중인 DNS 쿼리 (일치하는 완료 콜백 및 애플리케이션 상태)를 취소합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
DroppableEventDequeued
void DroppableEventDequeued(
void
)
GetInterfaceFromAddr
INET_ERROR GetInterfaceFromAddr(
const IPAddress & addr,
InterfaceId & intfId
)
지정된 IP 주소의 인터페이스 식별자를 가져옵니다.
인터페이스 식별자를 파생할 수 없는 경우 INET_NULL_INTERFACEID로 설정됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
INET_NO_ERROR를 무조건적으로 반환합니다.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr(
InterfaceId link,
IPAddress *llAddr
)
지정된 링크 또는 인터페이스의 링크-로컬 IPv6 주소를 가져옵니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
GetPlatformData
void * GetPlatformData(
void
)
인스턴스에 할당된 클라이언트별 플랫폼 데이터가 이전에 설정된 경우 이를 반환합니다.
세부정보 | |
---|---|
반환 |
클라이언트별 플랫폼 데이터(이전에 설정된 경우) 그렇지 않으면 NULL입니다.
|
HandleSelectResult
void HandleSelectResult(
int selectRes,
fd_set *readfds,
fd_set *writefds,
fd_set *exceptfds
)
특정 호출에서 I/O를 처리합니다.
이 메서드는 각 활성 엔드포인트에서 대기 중인 I/O 이벤트를 등록한 다음 해당 엔드포인트의 각 I/O 처리 함수를 호출합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
InetLayer
InetLayer(
void
)
InetLayer 기본 생성자입니다.
기본 데이터 멤버 초기화를 실행합니다. 하지만 InetLayer는 명시적 이니셜라이저 디자인 패턴을 따르므로 InetLayer::Init 메서드는 객체를 사용하기 전에 성공적으로 호출되어야 합니다.
Init
INET_ERROR Init(
Weave::System::Layer & aSystemLayer,
void *aContext
)
InetLayer 명시적 이니셜라이저입니다.
이 메서드는 InetLayer를 사용하기 전에 성공적으로 호출되고 완료되어야 합니다.
호출자는 플랫폼별 후크 함수를 통해 다시 전달되는 선택적 컨텍스트 인수를 제공할 수 있습니다. LwIP 기반 조정의 경우 이는 일반적으로 InetLayer 인스턴스와 연결된 이벤트 대기열에 대한 포인터입니다.
플랫폼은 플랫폼별 구성 헤더에서 INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS를 어설션하도록 선택하고 Platform::InetLayer::WillInit 및 Platform::InetLayer::DidInit 후크를 사용 설정하여 InetLayer에 대한 플랫폼별 맞춤설정이나 데이터 확장 프로그램을 적용할 수 있습니다.
InitQueueLimiter
INET_ERROR InitQueueLimiter(
void
)
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet(
const IPAddress & addr
)
지정된 IPv6 주소와 로컬에서 구성된 IPv6 주소 간에 접두사가 일치하는지 확인합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
일치하는 항목이 있으면 true를, 그렇지 않으면 false를 반환합니다.
|
NewRawEndPoint
INET_ERROR NewRawEndPoint(
IPVersion ipVer,
IPProtocol ipProto,
RawEndPoint **retEndPoint
)
특정 IP 버전 및 프로토콜에 대한 새 RawEndPoint 객체를 만듭니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint(
TCPEndPoint **retEndPoint
)
새 TCPEndPoint 객체를 만듭니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint(
TunEndPoint **retEndPoint
)
새 TunEndPoint 객체를 만듭니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint(
UDPEndPoint **retEndPoint
)
새 UDPEndPoint 객체를 만듭니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
PrepareSelect
void PrepareSelect(
int & nfds,
fd_set *readfds,
fd_set *writefds,
fd_set *exceptfds,
struct timeval & sleepTime
)
select()
에서 사용할 파일 설명자 세트를 준비합니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress(
const char *hostName,
uint16_t hostNameLen,
uint8_t options,
uint8_t maxAddrs,
IPAddress *addrArray,
DNSResolveCompleteFunct onComplete,
void *appState
)
지정된 호스트 이름의 IP 주소 확인을 수행합니다.
세부정보 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||||
반환 값 |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress(
const char *hostName,
uint16_t hostNameLen,
uint8_t maxAddrs,
IPAddress *addrArray,
DNSResolveCompleteFunct onComplete,
void *appState
)
지정된 호스트 이름의 IP 주소 확인을 수행합니다.
세부정보 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||||
반환 값 |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress(
const char *hostName,
uint8_t maxAddrs,
IPAddress *addrArray,
DNSResolveCompleteFunct onComplete,
void *appState
)
지정된 호스트 이름의 IP 주소 확인을 수행합니다.
세부정보 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||||
반환 값 |
|
SetPlatformData
void SetPlatformData(
void *aPlatformData
)
이렇게 하면 클라이언트 플랫폼에서 나중에 검색할 수 있도록 지정된 클라이언트별 플랫폼 데이터가 인스턴스로 설정됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
종료
INET_ERROR Shutdown(
void
)
이 메서드는 InetLayer 명시적 역초기화이며 인스턴스화된 InetLayer 인스턴스를 폐기하기 전에 호출해야 합니다.
플랫폼은 플랫폼별 구성 헤더에서 INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS를 어설션하도록 선택하고 Platform::InetLayer::WillShutdown 및 Platform::InetLayer::DidShutdown 후크를 사용 설정하여 InetLayer에 대한 플랫폼별 맞춤설정 또는 데이터 확장 프로그램을 삭제할 수 있습니다.
세부정보 | |
---|---|
반환 |
성공 시 INET_NO_ERROR, 그렇지 않으면 종료 실패 이유를 나타내는 특정 오류가 발생합니다.
|
SystemLayer
Weave::System::Layer * SystemLayer(
void
) const
공개 정적 함수
HandleInetLayerEvent
Weave::System::Error HandleInetLayerEvent(
Weave::System::Object & aTarget,
Weave::System::EventType aEventType,
uintptr_t aArgument
)
IsDroppableEvent
bool IsDroppableEvent(
Weave::System::EventType aType
)