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

এনএল :: ইনাইট :: UDPEndPoint

#include <src/inet/UDPEndPoint.h>

এই শ্রেণীর অবজেক্টগুলি ইউডিপি পরিবহণের শেষ পয়েন্টগুলি উপস্থাপন করে।

সারসংক্ষেপ

নেস্ট ইনট লেয়ারটি ইউডিপি ট্রান্সপোর্ট এন্ডপয়েন্টস (লিনাক্স এবং বিএসডি-ডেরিভড সিস্টেমে SOCK_DGRAM সকেট) বা LwIP ইউডিপি প্রোটোকল নিয়ন্ত্রণ ব্লকগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য পদ্ধতিগুলি এনক্যাপসুলেট করে, কারণ সিস্টেমটি সেই অনুযায়ী কনফিগার করা হয়েছে।

উত্তরাধিকার

থেকে উত্তরাধিকারী nl এর :: Inet :: IPEndPointBasis

পাবলিক ফাংশন

Bind (IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
একটি ইন্টারফেসের আইপি ঠিকানার সাথে শেষ পয়েন্টটি বাঁধুন।
BindInterface (IPAddressType addrType, InterfaceId intf)
একটি নেটওয়ার্ক ইন্টারফেসে প্রান্তটি আবদ্ধ করুন।
Close (void)
void
সমাপ্তিটি বন্ধ করুন।
Free (void)
void
শেষের অবস্থানটি বন্ধ করুন এবং এর মেমরিটিকে পুনর্ব্যবহার করুন।
GetBoundInterface (void)
InterfaceId
এই শেষ পয়েন্টে সীমাবদ্ধ ইন্টারফেস পান।
GetBoundPort (void)
uint16_t
Listen (void)
ইউডিপি বার্তা পেতে শেষ পয়েন্টটি প্রস্তুত করুন।
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
নির্দিষ্ট গন্তব্যে একটি ইউডিপি বার্তা প্রেরণ করুন।
SendTo ( IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
জন্য একটি প্রতিশব্দ SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags)
SendTo ( IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
নির্দিষ্ট গন্তব্য ঠিকানায় একটি ইউডিপি বার্তা প্রেরণ করুন।

পাবলিক ফাংশন

বাঁধাই করা

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId
)

একটি ইন্টারফেসের আইপি ঠিকানার সাথে শেষ পয়েন্টটি বাঁধুন।

নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের আইপি ঠিকানার শেষ প্রান্তকে আবদ্ধ করে।

বিশদ
পরামিতি
[in] addrType
আইপি ঠিকানার প্রোটোকল সংস্করণ
[in] addr
আইপি ঠিকানা (অবশ্যই একটি ইন্টারফেস ঠিকানা হতে হবে)
[in] port
ইউডিপি বন্দর
[in] intfId
একটি alচ্ছিক নেটওয়ার্ক ইন্টারফেস সূচক
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা শেষ আবদ্ধ
INET_ERROR_INCORRECT_STATE
শেষ পয়েন্টটি আগে আবদ্ধ ছিল
INET_NO_MEMORY
শেষ পয়েন্টের জন্য অপর্যাপ্ত মেমরি
INET_ERROR_UNKNOWN_INTERFACE
কিছু প্ল্যাটফর্মে allyচ্ছিকভাবে নির্দিষ্ট ইন্টারফেস উপস্থিত নেই।
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType মিলছে না IPVer
INET_ERROR_WRONG_ADDRESS_TYPE
addrType হয় kIPAddressType_Any , অথবা ধরণ addr সমান নয় addrType
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

LwIP- এ, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়।

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

একটি নেটওয়ার্ক ইন্টারফেসে প্রান্তটি আবদ্ধ করুন।

নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের আইপি ঠিকানার শেষ প্রান্তকে আবদ্ধ করে।

বিশদ
পরামিতি
[in] addrType
আইপি ঠিকানার প্রোটোকল সংস্করণ।
[in] intf
নেটওয়ার্ক ইন্টারফেসের সূচক।
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা শেষ আবদ্ধ
INET_NO_MEMORY
শেষ পয়েন্টের জন্য অপর্যাপ্ত মেমরি
INET_ERROR_NOT_IMPLEMENTED
সিস্টেম বাস্তবায়ন সম্পূর্ণ নয়।
INET_ERROR_UNKNOWN_INTERFACE
কিছু প্ল্যাটফর্মে, ইন্টারফেস উপস্থিত নেই।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

LwIP- এ, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়।

বন্ধ

void Close(
  void
)

সমাপ্তিটি বন্ধ করুন।

তাহলে mState != kState_Closed , তারপর শেষবিন্দু বন্ধ, যোগাযোগ ইভেন্টের জন্য যোগ্য এন্ড পয়েন্ট সেট থেকে এটি সরানোর।

LwIP সিস্টেমে, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়।

ফ্রি

void Free(
  void
)

শেষের অবস্থানটি বন্ধ করুন এবং এর মেমরিটিকে পুনর্ব্যবহার করুন।

ডাকে Close পদ্ধতি, তারপর এমন কিছুকে ডাকে, InetLayerBasis::Release তার মেমরির পুল বস্তুর ফিরে যাওয়ার পদ্ধতি।

LwIP সিস্টেমে, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়।

গেটবাউন্ডইন্টারফেস

InterfaceId GetBoundInterface(
  void
)

এই শেষ পয়েন্টে সীমাবদ্ধ ইন্টারফেস পান।

বিশদ
ফিরে আসে
ইন্টারফেসআইড বাউন্ড ইন্টারফেস আইডি।

গেটবাউন্ডপোর্ট

uint16_t GetBoundPort(
  void
)

শোনো

INET_ERROR Listen(
  void
)

ইউডিপি বার্তাগুলি পেতে শেষ পয়েন্টটি প্রস্তুত করুন।

যদি State ইতিমধ্যেই kState_Listening , তাহলে তার অপারেশন সঞ্চালিত হয় অন্যথায় mState সেট করা হয় kState_Listening এবং শেষবিন্দু পেয়েছি ফলে UDP বার্তাগুলি প্রস্তুত করা হয়, প্ল্যাটফর্ম শব্দার্থবিদ্যা অনুযায়ী।

বিশদ
রিটার্ন মান
INET_NO_ERROR
সাফল্য: বার্তা পেতে প্রস্তুত পয়েন্ট।
INET_ERROR_INCORRECT_STATE
ইতিমধ্যে ইতিমধ্যে শুনছে।

LwIP- এ, ইতিমধ্যে অর্জিত LWIP স্ট্যাক লক দিয়ে এই পদ্ধতিটি কল করা উচিত নয়

সেন্ডএমএসজি

INET_ERROR SendMsg(
  const IPPacketInfo *pktInfo,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

নির্দিষ্ট গন্তব্যে একটি ইউডিপি বার্তা প্রেরণ করুন।

 Send the UDP message in \c msg to the destination address and port given in
 \c pktInfo.  If \c pktInfo contains an interface id, the message will be sent
 over the specified interface.  If \c pktInfo contains a source address, the
 given address will be used as the source of the UDP message.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

বিশদ
পরামিতি
[in] pktInfo
উত্স এবং ইউডিপি বার্তার জন্য গন্তব্য সম্পর্কিত তথ্য
[in] msg
ইউডিপি বার্তা সম্বলিত একটি প্যাকেট বাফার
[in] sendFlags
alচ্ছিক সংক্রমণ বিকল্প পতাকা
রিটার্ন মান
INET_NO_ERROR
সাফল্য: msg প্রেরণ জন্য সারিবদ্ধ করা হয়।
INET_ERROR_NOT_SUPPORTED
সিস্টেমটি অনুরোধ করা ক্রিয়াকলাপ সমর্থন করে না।
INET_ERROR_WRONG_ADDRESS_TYPE
গন্তব্য ঠিকানা এবং বাউন্ড ইন্টারফেস ঠিকানায় মেলে প্রোটোকল সংস্করণ বা ঠিকানার ধরণ নেই।
INET_ERROR_MESSAGE_TOO_LONG
msg পুরো ফলে UDP বার্তা ধারণ করে না।
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
কিছু প্ল্যাটফর্মে শুধুমাত্র একটি ছেঁটে ফেলা অংশ msg প্রেরণ জন্য সারিবদ্ধ করা হয়।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

পাঠানো

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

জন্য একটি প্রতিশব্দ SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags)

পাঠানো

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

নির্দিষ্ট গন্তব্য ঠিকানায় একটি ইউডিপি বার্তা প্রেরণ করুন।

 If possible, then this method sends the UDP message \c msg to the
 destination \c addr (with \c intfId used as the scope
 identifier for IPv6 link-local destinations) and \c port with the
 transmit option flags encoded in \c sendFlags.

 Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls
 Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this
 method deep-copies \c msg into a fresh object, and queues that for
 transmission, leaving the original \c msg available after return.

বিশদ
পরামিতি
[in] addr
গন্তব্য আইপি ঠিকানা
[in] port
গন্তব্য ইউডিপি পোর্ট
[in] intfId
একটি alচ্ছিক নেটওয়ার্ক ইন্টারফেস সূচক
[in] msg
প্যাকেট বাফারটিতে ইউডিপি বার্তা রয়েছে
[in] sendFlags
alচ্ছিক সংক্রমণ বিকল্প পতাকা
রিটার্ন মান
INET_NO_ERROR
সাফল্য: msg প্রেরণ জন্য সারিবদ্ধ করা হয়।
INET_ERROR_NOT_SUPPORTED
সিস্টেমটি অনুরোধ করা ক্রিয়াকলাপ সমর্থন করে না।
INET_ERROR_WRONG_ADDRESS_TYPE
গন্তব্য ঠিকানা এবং বাউন্ড ইন্টারফেস ঠিকানায় মেলে প্রোটোকল সংস্করণ বা ঠিকানার ধরণ নেই।
INET_ERROR_MESSAGE_TOO_LONG
msg পুরো ফলে UDP বার্তা ধারণ করে না।
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
কিছু প্ল্যাটফর্মে শুধুমাত্র একটি ছেঁটে ফেলা অংশ msg প্রেরণ জন্য সারিবদ্ধ করা হয়।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি