nl:: Inet:: UDPEndPoint

#include <src/inet/UDPEndPoint.h>

এই শ্রেণীর অবজেক্ট UDP ট্রান্সপোর্ট এন্ডপয়েন্ট উপস্থাপন করে।

সারসংক্ষেপ

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

উত্তরাধিকার

থেকে উত্তরাধিকারসূত্রে পাওয়া যায়: 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)
UDP বার্তা পেতে শেষ পয়েন্ট প্রস্তুত করুন।
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
একটি নির্দিষ্ট গন্তব্যে একটি UDP বার্তা পাঠান।
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)
নির্দিষ্ট গন্তব্য ঠিকানায় একটি UDP বার্তা পাঠান।

পাবলিক ফাংশন

বাঁধাই করা

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

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

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

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

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

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

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

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

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

বিস্তারিত
পরামিতি
[in] addrType
IP ঠিকানার প্রোটোকল সংস্করণ।
[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 স্ট্যাক লকের সাথে কল করা উচিত নয়।

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

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

বিস্তারিত
রিটার্নস
ইন্টারফেসআইডি আবদ্ধ ইন্টারফেস আইডি।

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

uint16_t GetBoundPort(
  void
)

শুনুন

INET_ERROR Listen(
  void
)

UDP বার্তা পেতে শেষ পয়েন্ট প্রস্তুত করুন।

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

বিস্তারিত
রিটার্ন মান
INET_NO_ERROR
সফলতা: বার্তা গ্রহণের জন্য শেষ বিন্দু প্রস্তুত।
INET_ERROR_INCORRECT_STATE
শেষ বিন্দু ইতিমধ্যে শুনছে.

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

SendMsg

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

একটি নির্দিষ্ট গন্তব্যে একটি UDP বার্তা পাঠান।

 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
UDP বার্তার উৎস এবং গন্তব্য তথ্য
[in] msg
UDP বার্তা ধারণকারী একটি প্যাকেট বাফার
[in] sendFlags
ঐচ্ছিক ট্রান্সমিট বিকল্প পতাকা
রিটার্ন মান
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
)

নির্দিষ্ট গন্তব্য ঠিকানায় একটি UDP বার্তা পাঠান।

 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
গন্তব্য UDP পোর্ট
[in] intfId
একটি ঐচ্ছিক নেটওয়ার্ক ইন্টারফেস সূচক
[in] msg
UDP বার্তা ধারণকারী প্যাকেট বাফার
[in] sendFlags
ঐচ্ছিক ট্রান্সমিট বিকল্প পতাকা
রিটার্ন মান
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
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি