Google is committed to advancing racial equity for Black communities. See how.

এনএল :: ইনাইট :: ইনলেটর

#include <src/inet/InetLayer.h>

এটি একক থ্রেডের জন্য টাইমারস, ডোমেন নেম সিস্টেম (ডিএনএস) রেজোলিউশন, টিসিপি নেটওয়ার্ক ট্রান্সপোর্ট, ইউডিপি নেটওয়ার্ক ট্রান্সপোর্ট এবং কাঁচা নেটওয়ার্ক পরিবহন সহ ইন্টারনেট পরিষেবাগুলিতে অ্যাক্সেস সরবরাহ করে।

সারসংক্ষেপ

বিএসডি / পসিক্স সকেটের জন্য, ইভেন্টের প্রস্তুতি বিজ্ঞপ্তিটি ফাইল বর্ণনাকারীদের মাধ্যমে এবং প্ল্যাটফর্মের অভিযোজনে একটি traditionalতিহ্যবাহী পোল / নির্বাচন বাস্তবায়ন দ্বারা পরিচালিত হয়।

LwIP- র জন্য ইভেন্ট প্রস্তুতি বিজ্ঞপ্তি ইভেন্ট / বার্তা এবং প্ল্যাটফর্মের মাধ্যমে হ্যান্ডেল করা হয় - এবং ইভেন্ট / বার্তা সিস্টেমের জন্য সিস্টেম-নির্দিষ্ট হুক।

নির্মাণকারী এবং ধ্বংসকারী

InetLayer (void)
এই InetLayer ডিফল্ট কন্সট্রাকটর।

পাবলিক প্রকার

@5 {
kState_NotInitialized = 0,
kState_Initialized = 1,
kState_ShutdownInProgress = 2
}
এনাম
বর্তমান অবস্থা InetLayer অবজেক্ট।
DNSResolveCompleteFunct টাইপডেফ
DNSResolver::OnResolveCompleteFunct

জনসাধারণের গুণাবলী

State
enum nl::Inet::InetLayer::@5
বর্তমান অবস্থা InetLayer অবজেক্ট।

পাবলিক স্ট্যাটিক বৈশিষ্ট্য

sInetEventHandlerDelegate

পাবলিক ফাংশন

CanEnqueueDroppableEvent (void)
bool
CancelResolveHostAddress (DNSResolveCompleteFunct onComplete, void *appState)
void
এখনও সক্রিয় থাকতে পারে এমন কোনও বকেয়া ডিএনএস কোয়েরি (একটি মিলের সম্পূর্ণ কলব্যাক এবং অ্যাপ্লিকেশন অবস্থার জন্য) বাতিল করুন।
DroppableEventDequeued (void)
void
GetInterfaceFromAddr (const IPAddress & addr, InterfaceId & intfId)
নির্দিষ্ট আইপি ঠিকানার জন্য ইন্টারফেস সনাক্তকারী পান Get
GetLinkLocalAddr (InterfaceId link, IPAddress *llAddr)
নির্দিষ্ট লিঙ্ক বা ইন্টারফেসের জন্য স্থানীয় লিঙ্কটি স্থানীয় আইপিভি 6 ঠিকানা পান।
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)
একটি নতুন তৈরি করা হয় 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)
নির্দিষ্ট হোস্টনামের আইপি অ্যাড্রেস রেজোলিউশনটি সম্পাদন করুন।
ResolveHostAddress (const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
নির্দিষ্ট হোস্টনামের আইপি অ্যাড্রেস রেজোলিউশনটি সম্পাদন করুন।
ResolveHostAddress (const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
নির্দিষ্ট হোস্টনামের আইপি অ্যাড্রেস রেজোলিউশনটি সম্পাদন করুন।
SetPlatformData (void *aPlatformData)
void
এটি ক্লায়েন্ট প্ল্যাটফর্ম দ্বারা পরবর্তী পুনরুদ্ধারের জন্য উদাহরণটিতে নির্দিষ্ট ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা সেট করে।
Shutdown (void)
এই InetLayer স্পষ্ট deinitializer এবং instantiated বিক্রয়কালে পূর্বে বলা উচিত InetLayer উদাহরণস্বরূপ।
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

জনসাধারণের গুণাবলী

রাষ্ট্র

enum nl::Inet::InetLayer::@5 State

বর্তমান অবস্থা InetLayer অবজেক্ট।

[কেবলমাত্র পড়ুন] বর্তমান অবস্থা।

পাবলিক স্ট্যাটিক বৈশিষ্ট্য

sInetEventHandlerDelegate

Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate

পাবলিক ফাংশন

CanEnqueueDroppableEvent

bool CanEnqueueDroppableEvent(
  void
)

বাতিল করা

void CancelResolveHostAddress(
  DNSResolveCompleteFunct onComplete,
  void *appState
)

এখনও সক্রিয় থাকতে পারে এমন কোনও বকেয়া ডিএনএস কোয়েরি (একটি মিলের সম্পূর্ণ কলব্যাক এবং অ্যাপ্লিকেশন অবস্থার জন্য) বাতিল করুন।

বিশদ
পরামিতি
[in] onComplete
ডিএনএস অনুরোধটি সম্পূর্ণ হয়ে গেলে কলব্যাক ফাংশনের পয়েন্টার।
[in] appState
আবেদনের হিসাবে কলব্যাক ফাংশনে পাস করার জন্য একটি অ্যাপ্লিকেশন স্টেট অবজেক্টের একটি পয়েন্টার।

ড্রপযোগ্য ايভেন্টডিকুইটেড

void DroppableEventDequeued(
  void
)

GetInterfaceFromAddr

INET_ERROR GetInterfaceFromAddr(
  const IPAddress & addr,
  InterfaceId & intfId
)

নির্দিষ্ট আইপি ঠিকানার জন্য ইন্টারফেস সনাক্তকারী পান Get

ইন্টারফেস আইডেন্টিফায়ার উদ্ভূত করা যাবে না যদি সেট করা হয় INET_NULL_INTERFACEID

বিশদ
পরামিতি
[in] addr
একটি রেফারেন্স IPADDRESS অবজেক্ট।
[out] intfId
ইন্টারফেসআইড অবজেক্টের একটি রেফারেন্স।
ফিরে আসে
INET_NO_ERROR নিঃশর্তভাবে।

GetLinkLocalAddr

INET_ERROR GetLinkLocalAddr(
  InterfaceId link,
  IPAddress *llAddr
)

নির্দিষ্ট লিঙ্ক বা ইন্টারফেসের জন্য স্থানীয় লিঙ্কটি স্থানীয় আইভিভি 6 ঠিকানা পান।

বিশদ
পরামিতি
[in] link
যে ইন্টারফেসের জন্য স্থানীয় আইপিভি 6 লিঙ্কটি লিঙ্ক চাওয়া হচ্ছে।
[out] llAddr
লিঙ্কটির জন্য স্থানীয় আইপিভি 6 ঠিকানাটি।
রিটার্ন মান
INET_ERROR_NOT_IMPLEMENTED
যদি আইপিভি 6 সমর্থিত না হয়।
INET_ERROR_BAD_ARGS
লিঙ্কের স্থানীয় ঠিকানাটি যদি NULL হয়।
INET_ERROR_ADDRESS_NOT_FOUND
লিঙ্কটিতে কোনও ঠিকানা কনফিগার না থাকলে।
INET_NO_ERROR
সাফল্যের উপর।

গেটপ্লেফর্মডেটা

void * GetPlatformData(
  void
)

এটি উদাহরণস্বরূপ নির্ধারিত কোনও ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা ফেরত দেয়, যদি এটি আগে সেট করা থাকে।

বিশদ
ফিরে আসে
ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা, যদি আগে সেট করা থাকে; অন্যথায়, NULL।

হ্যান্ডেলসিলিটরেসাল্ট

void HandleSelectResult(
  int selectRes,
  fd_set *readfds,
  fd_set *writefds,
  fd_set *exceptfds
)

একটি নির্বাচিত কল থেকে I / O পরিচালনা করুন।

এই পদ্ধতিটি প্রতিটি সক্রিয় শেষ পয়েন্টে মুলতুবি থাকা I / O ইভেন্টটিকে নিবন্ধভুক্ত করে এবং তারপরে সেই শেষ পয়েন্টগুলির জন্য সংশ্লিষ্ট I / O হ্যান্ডলিং ফাংশনগুলিকে অনুরোধ করে।

বিশদ
পরামিতি
[in] selectRes
নির্বাচিত কলটির রিটার্ন মান।
[in] readfds
পঠিত ফাইল বর্ণনাকারীদের সেটের একটি পয়েন্টার।
[in] writefds
লেখার ফাইল বর্ণনাকারীর সেটের পয়েন্টার।
[in] exceptfds
ত্রুটিযুক্ত ফাইল বর্ণনাকারীর সেটের পয়েন্টার।

ইনলেটর

 InetLayer(
  void
)

এই InetLayer ডিফল্ট কন্সট্রাকটর।

এটি কিছু বেসিক ডেটা সদস্য ইনিশিয়ালাইজেশন সম্পাদন করে; কিন্তু যেহেতু InetLayer একটি সুনির্দিষ্ট সূচনাকারী নকশা প্যাটার্ন অনুসরণ করে, InetLayer :: আইনিট পদ্ধতি সফলভাবে বস্তুর ব্যবহার করার পূর্বে কল করা আবশ্যক।

এটা

INET_ERROR Init(
  Weave::System::Layer & aSystemLayer,
  void *aContext
)

এই InetLayer স্পষ্ট সূচনাকারী।

এই বলা হয় এবং সফলভাবে সম্পন্ন আগে হওয়া আবশ্যক InetLayer ব্যবহৃত হতে পারে।

কলার একটি alচ্ছিক প্রসঙ্গ যুক্তি সরবরাহ করতে পারে যা কোনও প্ল্যাটফর্ম-নির্দিষ্ট হুক ফাংশনগুলির মাধ্যমে ফেরত দেওয়া হবে। LwIP ভিত্তিক অভিযোজন জন্য, এই সাধারণত সঙ্গে যুক্ত ঘটনা সারিতে একটি পয়েন্টার হতে হবে InetLayer উদাহরণস্বরূপ।

প্ল্যাটফর্ম জাহির করা চয়ন করতে পারেন INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS তাদের প্ল্যাটফর্ম-নির্দিষ্ট কনফিগারেশন হেডারের মধ্যে এবং প্রভাব প্ল্যাটফর্ম-নির্দিষ্ট কাস্টমাইজেশন বা তথ্য এক্সটেনশন করার জন্য প্ল্যাটফর্ম :: InetLayer :: WillInit এবং প্ল্যাটফর্ম :: InetLayer :: DidInit আঙ্গুলসমূহ সক্ষম InetLayer

বিশদ
পরামিতি
[in] aSystemLayer
ইতিমধ্যে ওয়েভ সিস্টেম স্তরটির একটি প্রয়োজনীয় উদাহরণ সফলভাবে শুরু হয়েছে।
[in] aContext
কোনও platformচ্ছিক প্রসঙ্গ যুক্তি যা কোনও প্ল্যাটফর্ম-নির্দিষ্ট হুক ফাংশনগুলির মাধ্যমে কলারে ফেরত দেওয়া হবে।
রিটার্ন মান
INET_ERROR_INCORRECT_STATE
তাহলে InetLayer একটি ভুল অবস্থায় রয়েছে।
INET_ERROR_NO_MEMORY
তাহলে InetLayer একটি নতুন টাইমার জন্য এই অনুরোধের জন্য রিসোর্সের রান আউট।
other
প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটি সূচনা ব্যর্থতার কারণ নির্দেশ করে।
INET_NO_ERROR
সাফল্যের উপর।

ইনিশিকুইলিমিটার

INET_ERROR InitQueueLimiter(
  void
)

ম্যাচলোকালআইপিভি 6 সাবনেট

bool MatchLocalIPv6Subnet(
  const IPAddress & addr
)

নির্দিষ্ট IPv6 ঠিকানা এবং স্থানীয়ভাবে কনফিগার করা IPv6 ঠিকানাগুলির মধ্যে কোনওর সাথে উপসর্গের মিল আছে কিনা তা পরীক্ষা করে দেখুন।

বিশদ
পরামিতি
[in] addr
উপসর্গ-ম্যাচটি পরীক্ষা করতে IPv6 ঠিকানা।
ফিরে আসে
সত্য যদি একটি সফল ম্যাচ পাওয়া যায়, অন্যথায় মিথ্যা।

নিউআরএইডপয়েন্ট

INET_ERROR NewRawEndPoint(
  IPVersion ipVer,
  IPProtocol ipProto,
  RawEndPoint **retEndPoint
)

একটি নতুন তৈরি করা হয় RawEndPoint একটি নির্দিষ্ট আইপি সংস্করণ এবং প্রোটোকল জন্য বস্তু।

বিশদ
পরামিতি
[in] ipVer
আইপিভি 4 বা আইপিভি 6।
[in] ipProto
আইপি পরিবারের মধ্যে একটি প্রোটোকল (যেমন, আইসিএমপিভি 4 বা আইসিএমপিভি 6)।
[in,out] retEndPoint
একটি পয়েন্টার একটি পয়েন্টার RawEndPoint বস্তুর যে বস্তুর সৃষ্টি শেষ হয়ে গেলে একটি ফিরতি প্যারামিটার। * সৃষ্টি ব্যর্থ হলে retEndPoint নাল।
রিটার্ন মান
INET_ERROR_INCORRECT_STATE
তাহলে InetLayer বস্তুর সক্রিয়া করা হয় না।
INET_ERROR_NO_ENDPOINTS
তাহলে InetLayer RawEndPoint পুকুর পরিপূর্ণ এবং কোন নতুন এন্ড পয়েন্ট তৈরি করা যায়।
INET_NO_ERROR
সাফল্যের উপর।

NewTCPEndPoint

INET_ERROR NewTCPEndPoint(
  TCPEndPoint **retEndPoint
)

একটি নতুন তৈরি করা হয় TCPEndPoint অবজেক্ট।

বিশদ
পরামিতি
[in,out] retEndPoint
একটি পয়েন্টার একটি পয়েন্টার TCPEndPoint বস্তুর যে বস্তুর সৃষ্টি শেষ হয়ে গেলে একটি ফিরতি প্যারামিটার। * সৃষ্টি ব্যর্থ হলে retEndPoint নাল।
রিটার্ন মান
INET_ERROR_INCORRECT_STATE
তাহলে InetLayer বস্তুর সক্রিয়া করা হয় না।
INET_ERROR_NO_ENDPOINTS
তাহলে InetLayer TCPEndPoint পুকুর পরিপূর্ণ এবং কোন নতুন এন্ড পয়েন্ট তৈরি করা যায়।
INET_NO_ERROR
সাফল্যের উপর।

NewTunEndPoint

INET_ERROR NewTunEndPoint(
  TunEndPoint **retEndPoint
)

একটি নতুন তৈরি করা হয় TunEndPoint অবজেক্ট।

বিশদ
পরামিতি
[in,out] retEndPoint
একটি পয়েন্টার একটি পয়েন্টার TunEndPoint বস্তুর যে বস্তুর সৃষ্টি শেষ হয়ে গেলে একটি ফিরতি প্যারামিটার। * সৃষ্টি ব্যর্থ হলে retEndPoint নাল।
রিটার্ন মান
INET_ERROR_INCORRECT_STATE
তাহলে InetLayer বস্তুর সক্রিয়া করা হয় না।
INET_ERROR_NO_ENDPOINTS
তাহলে InetLayer TunEndPoint পুকুর পরিপূর্ণ এবং কোন নতুন কিছু তৈরি করা যায়।
INET_NO_ERROR
সাফল্যের উপর।

NewUDPEndPoint

INET_ERROR NewUDPEndPoint(
  UDPEndPoint **retEndPoint
)

একটি নতুন তৈরি করা হয় UDPEndPoint অবজেক্ট।

বিশদ
পরামিতি
[in,out] retEndPoint
একটি পয়েন্টার একটি পয়েন্টার UDPEndPoint বস্তুর যে বস্তুর সৃষ্টি শেষ হয়ে গেলে একটি ফিরতি প্যারামিটার। * সৃষ্টি ব্যর্থ হলে retEndPoint নাল।
রিটার্ন মান
INET_ERROR_INCORRECT_STATE
তাহলে InetLayer বস্তুর সক্রিয়া করা হয় না।
INET_ERROR_NO_ENDPOINTS
তাহলে InetLayer UDPEndPoint পুকুর পরিপূর্ণ এবং কোন নতুন এন্ড পয়েন্ট তৈরি করা যায়।
INET_NO_ERROR
সাফল্যের উপর।

প্রস্তুতি নির্বাচন করুন

void PrepareSelect(
  int & nfds,
  fd_set *readfds,
  fd_set *writefds,
  fd_set *exceptfds,
  struct timeval & sleepTime
)

ফাইল বর্ণনাকারী সেট তৈরী select() সঙ্গে কাজ করতে।

বিশদ
পরামিতি
[out] nfds
ফাইল বর্ণনাকারী সেটে ফাইল বর্ণনাকারীর ব্যাপ্তি।
[in] readfds
পঠনযোগ্য ফাইল বর্ণনাকারীর সেটের একটি পয়েন্টার।
[in] writefds
লেখার যোগ্য ফাইল বর্ণনাকারীর সেটের পয়েন্টার।
[in] exceptfds
ত্রুটিযুক্ত ফাইল বর্ণনাকারীর সেটের পয়েন্টার।
[in] sleepTimeTV
কোনও কাঠামোর নির্দেশক যা নির্দিষ্ট করে কতক্ষণ ঘুমানো উচিত ifying

সমাধান করুন হোস্টএড্রেস

INET_ERROR ResolveHostAddress(
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t options,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolveCompleteFunct onComplete,
  void *appState
)

নির্দিষ্ট হোস্টনামের আইপি অ্যাড্রেস রেজোলিউশনটি সম্পাদন করুন।

বিশদ
পরামিতি
[in] hostName
হোস্টের নামটি জিজ্ঞাসা করাতে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের একটি পয়েন্টার A
[in] hostNameLen
হোস্ট নামের স্ট্রিং দৈর্ঘ্য।
[in] options
হোস্ট নেম রেজোলিউশনটি কীভাবে সম্পাদিত হয় তা নিয়ন্ত্রণ করে একটি পূর্ণসংখ্যা মান।
                    Value should be one of the address family values from the
                    #DNSOptions enumeration:

                    #kDNSOption_AddrFamily_Any
                    #kDNSOption_AddrFamily_IPv4Only
                    #kDNSOption_AddrFamily_IPv6Only
                    #kDNSOption_AddrFamily_IPv4Preferred
                    #kDNSOption_AddrFamily_IPv6Preferred
[in] maxAddrs
ডিএনএস সারণীতে সর্বাধিক সংখ্যক ঠিকানা সঞ্চয় করতে হবে।
[in] addrArray
ডিএনএস টেবিলের পয়েন্টার।
[in] onComplete
ডিএনএস অনুরোধটি সম্পূর্ণ হয়ে গেলে কলব্যাক ফাংশনের পয়েন্টার।
[in] appState
ডিএনএস অনুরোধটি সম্পূর্ণ হয়ে গেলে অ্যাপ্লিকেশন স্থিতির একটি পয়েন্টার অন-কমপ্লিটে পাস করতে হবে।
রিটার্ন মান
INET_NO_ERROR
যদি কোনও ডিএনএস অনুরোধ সফলভাবে পরিচালিত হয়।
INET_ERROR_NO_MEMORY
যদি ইনিট লেয়ার রিসলভার পুলটি পূর্ণ হয়।
INET_ERROR_HOST_NAME_TOO_LONG
যদি অনুরোধকৃত হোস্টের নামটি দীর্ঘ হয়।
INET_ERROR_HOST_NOT_FOUND
যদি কোনও অনুরোধের হোস্টের নামটি কোনও ঠিকানায় সমাধান করা যায় না।
INET_ERROR_DNS_TRY_AGAIN
যদি কোনও নাম সার্ভার কোনও অস্থায়ী ব্যর্থতার ইঙ্গিত দেয়; পরে আবার চেষ্টা করুন।
INET_ERROR_DNS_NO_RECOVERY
যদি কোনও নাম সার্ভার একটি অপরিবর্তনযোগ্য ত্রুটি ফেরত দেয়।
INET_ERROR_NOT_IMPLEMENTED
অন্তর্নিহিত প্ল্যাটফর্মে যদি ডিএনএস রেজোলিউশন সক্ষম না হয়।
other
POSIX নেটওয়ার্ক বা ওএস ত্রুটি অন্তর্নিহিত ডিএনএস রিসলভার প্রয়োগের মাধ্যমে ফিরে এসেছে।

সমাধান করুন হোস্টএড্রেস

INET_ERROR ResolveHostAddress(
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolveCompleteFunct onComplete,
  void *appState
)

নির্দিষ্ট হোস্টনামের আইপি অ্যাড্রেস রেজোলিউশনটি সম্পাদন করুন।

বিশদ
পরামিতি
[in] hostName
হোস্টের নামটি জিজ্ঞাসা করাতে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের একটি পয়েন্টার A
[in] hostNameLen
হোস্ট নামের স্ট্রিং দৈর্ঘ্য।
[in] maxAddrs
ডিএনএস সারণীতে সর্বাধিক সংখ্যক ঠিকানা সঞ্চয় করতে হবে।
[in] addrArray
ডিএনএস টেবিলের পয়েন্টার।
[in] onComplete
ডিএনএস অনুরোধটি সম্পূর্ণ হয়ে গেলে কলব্যাক ফাংশনের পয়েন্টার।
[in] appState
ডিএনএস অনুরোধটি সম্পূর্ণ হয়ে গেলে অ্যাপ্লিকেশন স্থিতির একটি পয়েন্টার অন-কমপ্লিটে পাস করতে হবে।
রিটার্ন মান
INET_NO_ERROR
যদি কোনও ডিএনএস অনুরোধ সফলভাবে পরিচালিত হয়।
INET_ERROR_NO_MEMORY
যদি ইনিট লেয়ার রিসলভার পুলটি পূর্ণ হয়।
INET_ERROR_HOST_NAME_TOO_LONG
যদি অনুরোধকৃত হোস্টের নামটি দীর্ঘ হয়।
INET_ERROR_HOST_NOT_FOUND
যদি কোনও অনুরোধের হোস্টের নামটি কোনও ঠিকানায় সমাধান করা যায় না।
INET_ERROR_DNS_TRY_AGAIN
যদি কোনও নাম সার্ভার কোনও অস্থায়ী ব্যর্থতার ইঙ্গিত দেয়; পরে আবার চেষ্টা করুন।
INET_ERROR_DNS_NO_RECOVERY
যদি কোনও নাম সার্ভার একটি অপরিবর্তনযোগ্য ত্রুটি ফেরত দেয়।
INET_ERROR_NOT_IMPLEMENTED
অন্তর্নিহিত প্ল্যাটফর্মে যদি ডিএনএস রেজোলিউশন সক্ষম না হয়।
other
POSIX নেটওয়ার্ক বা ওএস ত্রুটি অন্তর্নিহিত ডিএনএস রেজলভার প্রয়োগের মাধ্যমে ফিরে এসেছে।

সমাধান করুন হোস্টএড্রেস

INET_ERROR ResolveHostAddress(
  const char *hostName,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolveCompleteFunct onComplete,
  void *appState
)

নির্দিষ্ট হোস্টনামের আইপি অ্যাড্রেস রেজোলিউশনটি সম্পাদন করুন।

বিশদ
পরামিতি
[in] hostName
হোস্টের নামটি জিজ্ঞাসা করাতে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের একটি পয়েন্টার।
[in] maxAddrs
ডিএনএস সারণীতে সর্বাধিক সংখ্যক ঠিকানা সঞ্চয় করতে হবে।
[in] addrArray
ডিএনএস টেবিলের পয়েন্টার।
[in] onComplete
ডিএনএস অনুরোধটি সম্পূর্ণ হয়ে গেলে কলব্যাক ফাংশনের পয়েন্টার।
[in] appState
ডিএনএস অনুরোধটি সম্পূর্ণ হয়ে গেলে অ্যাপ্লিকেশন স্থিতির একটি পয়েন্টার অন-কমপ্লিটে পাস করতে হবে।
রিটার্ন মান
INET_NO_ERROR
যদি কোনও ডিএনএস অনুরোধ সফলভাবে পরিচালিত হয়।
INET_ERROR_NO_MEMORY
যদি ইনিট লেয়ার রিসলভার পুলটি পূর্ণ হয়।
INET_ERROR_HOST_NAME_TOO_LONG
যদি অনুরোধকৃত হোস্টের নামটি দীর্ঘ হয়।
INET_ERROR_HOST_NOT_FOUND
যদি কোনও অনুরোধের হোস্টের নামটি কোনও ঠিকানায় সমাধান করা যায় না।
INET_ERROR_DNS_TRY_AGAIN
যদি কোনও নাম সার্ভার কোনও অস্থায়ী ব্যর্থতার ইঙ্গিত দেয়; পরে আবার চেষ্টা করুন।
INET_ERROR_DNS_NO_RECOVERY
যদি কোনও নাম সার্ভার একটি অপরিবর্তনযোগ্য ত্রুটি ফেরত দেয়।
INET_ERROR_NOT_IMPLEMENTED
অন্তর্নিহিত প্ল্যাটফর্মে যদি ডিএনএস রেজোলিউশন সক্ষম না হয়।
other
POSIX নেটওয়ার্ক বা ওএস ত্রুটি অন্তর্নিহিত ডিএনএস রিসলভার প্রয়োগের মাধ্যমে ফিরে এসেছে।

সেটপ্ল্যাটফর্মডেটা

void SetPlatformData(
  void *aPlatformData
)

এটি ক্লায়েন্ট প্ল্যাটফর্ম দ্বারা পরবর্তী পুনরুদ্ধারের জন্য উদাহরণটিতে নির্দিষ্ট ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা সেট করে।

বিশদ
পরামিতি
[in] aPlatformData
সেট করতে ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা।

শাটডাউন

INET_ERROR Shutdown(
  void
)

এই InetLayer স্পষ্ট deinitializer এবং instantiated বিক্রয়কালে পূর্বে বলা উচিত InetLayer উদাহরণস্বরূপ।

প্ল্যাটফর্ম জাহির করা চয়ন করতে পারেন INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS তাদের প্ল্যাটফর্ম-নির্দিষ্ট কনফিগারেশন হেডারের মধ্যে এবং প্রভাব ক্লিন-আপ প্ল্যাটফর্ম-নির্দিষ্ট কাস্টমাইজেশন বা তথ্য এক্সটেনশন এর প্ল্যাটফর্ম :: InetLayer :: WillShutdown এবং প্ল্যাটফর্ম :: InetLayer :: DidShutdown আঙ্গুলসমূহ সক্ষম InetLayer

বিশদ
ফিরে আসে
INET_NO_ERROR সাফল্যের; অন্যথায়, একটি নির্দিষ্ট ত্রুটি শাটডাউন ব্যর্থতার কারণ নির্দেশ করে।

সিস্টেমলায়ার

Weave::System::Layer * SystemLayer(
  void
) const 

পাবলিক স্ট্যাটিক ফাংশন

হ্যান্ডেলআইনেটলায়ারভেন্ট

Weave::System::Error HandleInetLayerEvent(
  Weave::System::Object & aTarget,
  Weave::System::EventType aEventType,
  uintptr_t aArgument
)

#DroppableEvent

bool IsDroppableEvent(
  Weave::System::EventType aType
)

আপডেটস্পট

void UpdateSnapshot(
  nl::Weave::System::Stats::Snapshot & aSnapshot
)