nl:: Inet:: TCPEndPoint

#include <src/inet/TCPEndPoint.h>

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

সারাংশ

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

উত্তরাধিকার

থেকে উত্তরাধিকারসূত্রে পাওয়া যায়: nl::Inet::EndPointBasis

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

@10 {
kState_Ready = kBasisState_Closed,
kState_Bound = 1,
kState_Listening = 2,
kState_Connecting = 3,
kState_Connected = 4,
kState_SendShutdown = 5,
kState_ReceiveShutdown = 6,
kState_Closing = 7,
kState_Closed = 8
}
enum
অন্তর্নিহিত শেষ বিন্দুর মৌলিক গতিশীল অবস্থা।
OnAcceptErrorFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
সংযোগ গ্রহণের ত্রুটি ইভেন্ট হ্যান্ডলিং ফাংশনের প্রকার।
OnConnectCompleteFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
সংযোগ স্থাপন ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার।
OnConnectionClosedFunct )(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
সংযোগ স্থাপন ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার।
OnConnectionReceivedFunct )(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
ইভেন্ট হ্যান্ডলিং ফাংশন প্রাপ্ত সংযোগের ধরন।
OnDataReceivedFunct )(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
ডেটা রিসেপশন ইভেন্ট হ্যান্ডলিং ফাংশনের ধরন।
OnDataSentFunct )(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
ডেটা ট্রান্সমিশন ইভেন্ট হ্যান্ডলিং ফাংশনের ধরন।
OnPeerCloseFunct )(TCPEndPoint *endPoint) typedef
void(*
হাফ-ক্লোজ রিসেপশন ইভেন্ট হ্যান্ডলিং ফাংশনের ধরন।
OnTCPSendIdleChangedFunct )(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
TCP SendIdle পরিবর্তিত সংকেত হ্যান্ডলিং ফাংশনের ধরন।

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

OnAcceptError
এন্ডপয়েন্টের সংযোগ গ্রহণ ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি।
OnConnectComplete
এন্ডপয়েন্টের সংযোগ স্থাপন ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি।
OnConnectionClosed
এন্ডপয়েন্টের ক্লোজ ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি।
OnConnectionReceived
এন্ডপয়েন্টের সংযোগ ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি গ্রহণ করে।
OnDataReceived
এন্ডপয়েন্টের মেসেজ টেক্সট রিসেপশন ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি।
OnDataSent
এন্ডপয়েন্টের মেসেজ টেক্সট ট্রান্সমিশন ইভেন্ট হ্যান্ডলিং ফাংশন ডেলিগেট।
OnPeerClose
এন্ডপয়েন্টের অর্ধ-ক্লোজ ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি গ্রহণ করে।
OnTCPSendIdleChanged
ইভেন্ট হ্যান্ডলিং ফাংশন এন্ডপয়েন্ট সিগন্যালিং এর প্রতিনিধি যখন TCP সংযোগের পাঠান চ্যানেলের অলসতা পরিবর্তিত হয়।
ReceiveEnabled
bool
কন্ট্রোল সুইচ নির্দেশ করে যে অ্যাপ্লিকেশনটি ডেটা গ্রহণ করছে কিনা।
State
enum nl::Inet::TCPEndPoint::@10
অন্তর্নিহিত শেষ বিন্দুর মৌলিক গতিশীল অবস্থা।

পাবলিক ফাংশন

Abort (void)
void
এন্ডপয়েন্ট বন্ধ করুন, অন্য কথায়, আরএসটি প্যাকেট পাঠান।
AckReceive (uint16_t len)
বার্তা পাঠ্যের প্রাপ্তি স্বীকার করুন।
Bind (IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
একটি ইন্টারফেস আইপি ঠিকানায় শেষ বিন্দু আবদ্ধ করুন।
Close (void)
TCP সম্পূর্ণ বন্ধ শুরু করুন, অন্য কথায়, প্রেরণ এবং গ্রহণ উভয়ের সাথেই শেষ।
Connect ( IPAddress addr, uint16_t port, InterfaceId intf)
একটি TCP সংযোগ শুরু করুন।
DisableKeepAlive (void)
TCP "কিপ-লাইভ" বিকল্পটি নিষ্ক্রিয় করুন।
DisableReceive (void)
void
অভ্যর্থনা অক্ষম করুন।
EnableKeepAlive (uint16_t interval, uint16_t timeoutCount)
TCP "কিপ-অ্যালাইভ" বিকল্পটি সক্রিয় করুন।
EnableNoDelay (void)
EnableNoDelay.
EnableReceive (void)
void
অভ্যর্থনা সক্ষম করুন।
Free (void)
void
ত্রুটি উপেক্ষা করে TCP সম্পূর্ণ বন্ধ করুন (বা চালিয়ে যান)।
GetLocalInfo ( IPAddress *retAddr, uint16_t *retPort)
স্থানীয় শেষ পয়েন্টের IP ঠিকানা এবং TCP পোর্ট বের করুন।
GetPeerInfo ( IPAddress *retAddr, uint16_t *retPort) const
রিমোট এন্ডপয়েন্টের IP ঠিকানা এবং TCP পোর্ট বের করুন।
IsConnected (void) const
bool
TCP সংযোগ স্থাপন করা হয়েছে কিনা তা বের করুন।
Listen (uint16_t backlog)
TCP বার্তা পেতে শেষ পয়েন্ট প্রস্তুত করুন।
LogId (void)
uint16_t
শেষ বিন্দুর জন্য একটি শনাক্তকারী পান।
MarkActive (void)
void
নোট করুন কার্যকলাপ, অন্য কথায়, নিষ্ক্রিয় টাইমার রিসেট করুন।
PendingReceiveLength (void)
uint32_t
অস্বীকৃত প্রাপ্ত ডেটার দৈর্ঘ্য বের করুন।
PendingSendLength (void)
uint32_t
প্রথম প্রেরণের অপেক্ষায় থাকা ডেটার দৈর্ঘ্য বের করুন।
PutBackReceivedData ( Weave::System::PacketBuffer *data)
রিসিভ সারির মাথায় মেসেজ টেক্সটটি পুশ করুন।
Send ( Weave::System::PacketBuffer *data, bool push)
TCP সংযোগে বার্তা পাঠ্য পাঠান।
SetConnectTimeout (const uint32_t connTimeoutMsecs)
void
সফল হওয়ার জন্য বা একটি ত্রুটি ফেরত দেওয়ার জন্য সংযোগের সময়সীমা সেট করুন।
SetUserTimeout (uint32_t userTimeoutMillis)
TCP TCP_USER_TIMEOUT সকেট বিকল্প সেট করুন।
Shutdown (void)
TCP অর্ধেক বন্ধ শুরু করুন, অন্য কথায়, পাঠানোর সাথে শেষ।

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

@10

 @10

অন্তর্নিহিত শেষ বিন্দুর মৌলিক গতিশীল অবস্থা।

অবজেক্টগুলিকে "প্রস্তুত" অবস্থায় শুরু করা হয়, TCP ট্রান্সপোর্ট স্টেট মেশিনের রাজ্যগুলির সরলীকরণের সাথে সম্পর্কিত পরবর্তী রাজ্যগুলিতে যান।

দ্রষ্টব্য: ঐতিহাসিক বাইনারি-সামঞ্জস্যতার কারণে kBasisState_Closed অবস্থার গণনা kState_Ready এ ম্যাপ করা হয়েছে। বিদ্যমান kState_Closed "এখনও খোলা হয়নি" এবং "আগে খোলা এখন বন্ধ" এর মধ্যে পার্থক্য চিহ্নিত করার জন্য বিদ্যমান যা পূর্বে kState_Ready এবং kState_Closed অবস্থায় বিদ্যমান ছিল।

বৈশিষ্ট্য
kState_Bound

শেষবিন্দু আবদ্ধ, কিন্তু শুনছে না।

kState_Closed

এন্ডপয়েন্ট বন্ধ, মুক্তির জন্য প্রস্তুত।

kState_Closing

শেষবিন্দু দ্বিমুখীভাবে বন্ধ হচ্ছে।

kState_Connected

এন্ডপয়েন্ট সংযুক্ত, tx/rx-এর জন্য প্রস্তুত।

kState_Connecting

এন্ডপয়েন্ট সংযোগ করার চেষ্টা করছে।

kState_Listening

এন্ডপয়েন্ট সংযোগ গ্রহণ.

kState_Ready

এন্ডপয়েন্ট আরম্ভ করা হয়েছে, কিন্তু আবদ্ধ নয়।

kState_ReceiveShutdown

এন্ডপয়েন্ট অর্ধেক বন্ধ সাড়া.

kState_SendShutdown

এন্ডপয়েন্ট তার অর্ধেক বন্ধ শুরু.

OnAcceptErrorFunct

void(* OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err)

সংযোগ গ্রহণের ত্রুটি ইভেন্ট হ্যান্ডলিং ফাংশনের প্রকার।

endPoint এ সংযোগ গ্রহণযোগ্যতা ত্রুটি ইভেন্টগুলি প্রক্রিয়া করার জন্য OnAcceptError প্রতিনিধি সদস্যকে এই ধরনের একটি ফাংশন প্রদান করুন। err যুক্তি ত্রুটির ধরন সম্পর্কে নির্দিষ্ট বিশদ প্রদান করে।

বিস্তারিত
পরামিতি
[in] endPoint
ইভেন্টের সাথে যুক্ত TCP এন্ডপয়েন্ট।
[in] err
ত্রুটির কারণ।

OnConnectCompleteFunct

void(* OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err)

সংযোগ স্থাপন ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার।

OnConnectComplete প্রতিনিধি সদস্যকে endPoint এ সংযোগ স্থাপন ইভেন্টগুলি প্রক্রিয়া করতে এই ধরণের একটি ফাংশন প্রদান করুন। err যুক্তিটি ব্যর্থতা থেকে সফল সংযোগগুলিকে আলাদা করে।

বিস্তারিত
পরামিতি
[in] endPoint
ইভেন্টের সাথে যুক্ত TCP এন্ডপয়েন্ট।
[in] err
INET_NO_ERROR সফল হলে অন্য কোড।

OnConnectionClosedFunct

void(* OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err)

সংযোগ স্থাপন ইভেন্ট হ্যান্ডলিং ফাংশন প্রকার।

OnConnectionClosed প্রতিনিধি সদস্যকে endPoint সংযোগ সমাপ্তির ইভেন্টগুলি প্রক্রিয়া করতে এই ধরণের একটি ফাংশন প্রদান করুন৷ err যুক্তি ব্যর্থতা থেকে সফল সমাপ্তি পার্থক্য.

বিস্তারিত
পরামিতি
[in] endPoint
ইভেন্টের সাথে যুক্ত TCP এন্ডপয়েন্ট।
[in] err
INET_NO_ERROR সফল হলে অন্য কোড।

OnConnectionReceivedFunct

void(* OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort)

ইভেন্ট হ্যান্ডলিং ফাংশন প্রাপ্ত সংযোগের ধরন।

listeningEndPoint এ সংযোগ অভ্যর্থনা ইভেন্টগুলি প্রক্রিয়া করার জন্য OnConnectionReceived প্রতিনিধি সদস্যকে এই ধরণের একটি ফাংশন প্রদান করুন। সদ্য প্রাপ্ত এন্ডপয়েন্ট conEndPoint আইপি ঠিকানা peerAddr এবং টিসিপি পোর্ট peerPort অবস্থিত।

বিস্তারিত
পরামিতি
[in] listeningEndPoint
শোনার TCP শেষ পয়েন্ট।
[in] conEndPoint
সদ্য প্রাপ্ত TCP শেষ পয়েন্ট.
[in] peerAddr
দূরবর্তী পিয়ারের আইপি ঠিকানা।
[in] peerPort
দূরবর্তী পিয়ারের টিসিপি পোর্ট।

OnDataReceivedFunct

void(* OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data)

ডেটা রিসেপশন ইভেন্ট হ্যান্ডলিং ফাংশনের ধরন।

endPoint ডেটা রিসেপশন ইভেন্টগুলি প্রক্রিয়া করার জন্য OnDataReceived প্রতিনিধি সদস্যকে এই ধরনের একটি ফাংশন প্রদান করুন যেখানে data প্রাপ্ত বার্তা পাঠ্য।

বিস্তারিত
পরামিতি
[in] endPoint
ইভেন্টের সাথে যুক্ত TCP এন্ডপয়েন্ট।
[in] data
তথ্য প্রাপ্ত.

একটি ডেটা রিসেপশন ইভেন্ট হ্যান্ডলারকে অবশ্যই AckReceive পদ্ধতি ব্যবহার করে প্রক্রিয়াকৃত ডেটা স্বীকার করতে হবে। এর পরিবর্তে PutBackReceivedData ব্যবহার করা না হলে ডেটা বাফারে Free পদ্ধতিটিও চালু করতে হবে।

OnDataSentFunct

void(* OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len)

ডেটা ট্রান্সমিশন ইভেন্ট হ্যান্ডলিং ফাংশনের ধরন।

endPoint ডেটা ট্রান্সমিশন ইভেন্টগুলি প্রক্রিয়া করার জন্য OnDataSent প্রতিনিধি সদস্যকে এই ধরনের একটি ফাংশন প্রদান করুন যেখানে len হল TCP ট্রান্সমিট উইন্ডোতে যোগ করা বার্তা পাঠের দৈর্ঘ্য, যা অন্তর্নিহিত নেটওয়ার্ক স্ট্যাক দ্বারা পাঠানোর জন্য যোগ্য।

বিস্তারিত
পরামিতি
[in] endPoint
ইভেন্টের সাথে যুক্ত TCP এন্ডপয়েন্ট।
[in] len
ট্রান্সমিট উইন্ডোতে যোগ করা বাইটের সংখ্যা।

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

হাফ-ক্লোজ রিসেপশন ইভেন্ট হ্যান্ডলিং ফাংশনের ধরন।

OnPeerClose প্রতিনিধি সদস্যকে endPoint সংযোগ সমাপ্তির ইভেন্টগুলি প্রক্রিয়া করতে এই ধরণের একটি ফাংশন প্রদান করুন৷

বিস্তারিত
পরামিতি
[in] endPoint
ইভেন্টের সাথে যুক্ত TCP এন্ডপয়েন্ট।

OnTCPSendIdleChangedFunct

void(* OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle)

TCP SendIdle পরিবর্তিত সংকেত হ্যান্ডলিং ফাংশনের ধরন।

নিষ্ক্রিয় থাকা এবং নিষ্ক্রিয় না থাকার মধ্যে TCPEndPoint- এর পাঠান চ্যানেলের অবস্থা পরিবর্তন করার ইভেন্ট প্রক্রিয়া করতে OnTCPSendIdleChanged প্রতিনিধি সদস্যকে এই ধরনের একটি ফাংশন প্রদান করুন।

বিস্তারিত
পরামিতি
[in] endPoint
ইভেন্টের সাথে যুক্ত TCP এন্ডপয়েন্ট।
[in] isIdle
TCP এন্ডপয়েন্টের পাঠান চ্যানেলটি নিষ্ক্রিয় হলে সত্য, অন্যথায় মিথ্যা।

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

OnAcceptError

OnAcceptErrorFunct OnAcceptError

এন্ডপয়েন্টের সংযোগ গ্রহণ ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি।

অনকানেক্ট কমপ্লিট

OnConnectCompleteFunct OnConnectComplete

এন্ডপয়েন্টের সংযোগ স্থাপন ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি।

অন ​​সংযোগ বন্ধ

OnConnectionClosedFunct OnConnectionClosed

এন্ডপয়েন্টের ক্লোজ ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি।

অনকানেকশন রিসিভড

OnConnectionReceivedFunct OnConnectionReceived

এন্ডপয়েন্টের সংযোগ ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি গ্রহণ করে।

অনডেটা রিসিভড

OnDataReceivedFunct OnDataReceived

এন্ডপয়েন্টের মেসেজ টেক্সট রিসেপশন ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি।

OnDataSent

OnDataSentFunct OnDataSent

এন্ডপয়েন্টের মেসেজ টেক্সট ট্রান্সমিশন ইভেন্ট হ্যান্ডলিং ফাংশন ডেলিগেট।

অনপিয়ারক্লোজ

OnPeerCloseFunct OnPeerClose

এন্ডপয়েন্টের অর্ধ-ক্লোজ ইভেন্ট হ্যান্ডলিং ফাংশন প্রতিনিধি গ্রহণ করে।

OnTCPSendIdleপরিবর্তিত

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

ইভেন্ট হ্যান্ডলিং ফাংশন এন্ডপয়েন্ট সিগন্যালিং এর প্রতিনিধি যখন TCP সংযোগের পাঠান চ্যানেলের অলসতা পরিবর্তিত হয়।

প্রেরিত ডেটা পিয়ারের কাছে নির্ভরযোগ্যভাবে বিতরণ করা হয়েছে কিনা তার উপর ভিত্তি করে যথাযথ পদক্ষেপ নিতে উপরের স্তরগুলি এটি ব্যবহার করে।

প্রাপ্তি সক্ষম

bool ReceiveEnabled

কন্ট্রোল সুইচ নির্দেশ করে যে অ্যাপ্লিকেশনটি ডেটা গ্রহণ করছে কিনা।

রাজ্য

enum nl::Inet::TCPEndPoint::@10 State

অন্তর্নিহিত শেষ বিন্দুর মৌলিক গতিশীল অবস্থা।

অবজেক্টগুলিকে "প্রস্তুত" অবস্থায় শুরু করা হয়, TCP ট্রান্সপোর্ট স্টেট মেশিনের রাজ্যগুলির সরলীকরণের সাথে সম্পর্কিত পরবর্তী রাজ্যগুলিতে যান।

দ্রষ্টব্য: ঐতিহাসিক বাইনারি-সামঞ্জস্যতার কারণে kBasisState_Closed অবস্থার গণনা kState_Ready এ ম্যাপ করা হয়েছে। বিদ্যমান kState_Closed "এখনও খোলা হয়নি" এবং "আগে খোলা এখন বন্ধ" এর মধ্যে পার্থক্য চিহ্নিত করার জন্য বিদ্যমান যা পূর্বে kState_Ready এবং kState_Closed অবস্থায় বিদ্যমান ছিল।

পাবলিক ফাংশন

গর্ভপাত

void Abort(
  void
)

এন্ডপয়েন্ট বন্ধ করুন, অন্য কথায়, আরএসটি প্যাকেট পাঠান।

অ্যাকরিসিভ

INET_ERROR AckReceive(
  uint16_t len
)

বার্তা পাঠ্যের প্রাপ্তি স্বীকার করুন।

প্রাপ্ত ডেটার সমস্ত বা আংশিক গ্রহণ স্বীকার করতে এই পদ্ধতিটি ব্যবহার করুন। কর্মক্ষম শব্দার্থবিদ্যা অনির্ধারিত হয় যদি len মোট বকেয়া অস্বীকৃত প্রাপ্ত ডেটার চেয়ে বড় হয়।

বিস্তারিত
পরামিতি
[in] len
স্বীকার করার জন্য বাইট সংখ্যা।
রিটার্ন মান
INET_NO_ERROR
সাফল্য: অভ্যর্থনা স্বীকৃত।
INET_ERROR_INCORRECT_STATE
TCP সংযোগ প্রতিষ্ঠিত হয়নি।
INET_ERROR_CONNECTION_ABORTED
TCP সংযোগ আর খোলা নেই.

বাঁধন

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  bool reuseAddr
)

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

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

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

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

বন্ধ

INET_ERROR Close(
  void
)

TCP সম্পূর্ণ বন্ধ শুরু করুন, অন্য কথায়, প্রেরণ এবং গ্রহণ উভয়ের সাথেই শেষ।

বিস্তারিত
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা এবং পোর্ট বের করা হয়েছে।
INET_ERROR_INCORRECT_STATE
TCP সংযোগ প্রতিষ্ঠিত হয়নি।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

সংযোগ করুন

INET_ERROR Connect(
  IPAddress addr,
  uint16_t port,
  InterfaceId intf
)

একটি TCP সংযোগ শুরু করুন।

 If possible, then this method initiates a TCP connection to the
 destination \c addr (with \c intf used as the scope
 identifier for IPv6 link-local destinations) and \c port.

বিস্তারিত
পরামিতি
[in] addr
গন্তব্য আইপি ঠিকানা
[in] port
গন্তব্য TCP পোর্ট
[in] intf
একটি ঐচ্ছিক নেটওয়ার্ক ইন্টারফেস সূচক
রিটার্ন মান
INET_NO_ERROR
সফলতা: msg প্রেরণের জন্য সারিবদ্ধ।
INET_ERROR_NOT_IMPLEMENTED
সিস্টেম বাস্তবায়ন সম্পূর্ণ নয়।
INET_ERROR_WRONG_ADDRESS_TYPE
গন্তব্য ঠিকানা এবং আবদ্ধ ইন্টারফেস ঠিকানায় প্রোটোকল সংস্করণ বা ঠিকানার প্রকারের মিল নেই, অথবা গন্তব্য ঠিকানা একটি IPv6 লিঙ্ক-স্থানীয় ঠিকানা এবং intf নির্দিষ্ট করা নেই।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

কিপএলাইভ অক্ষম করুন

INET_ERROR DisableKeepAlive(
  void
)

TCP "কিপ-লাইভ" বিকল্পটি নিষ্ক্রিয় করুন।

TCPEndPoint::DisableKeepAlive

সংশ্লিষ্ট TCP সংযোগে TCP Keepalive প্রোব নিষ্ক্রিয় করুন।

বিস্তারিত
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা এবং পোর্ট বের করা হয়েছে।
INET_ERROR_INCORRECT_STATE
TCP সংযোগ প্রতিষ্ঠিত হয়নি।
INET_ERROR_CONNECTION_ABORTED
TCP সংযোগ আর খোলা নেই.
INET_ERROR_NOT_IMPLEMENTED
সিস্টেম বাস্তবায়ন সম্পূর্ণ নয়।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

দ্রষ্টব্য: এই পদ্ধতিটি শুধুমাত্র তখনই বলা যেতে পারে যখন শেষ পয়েন্টটি সংযুক্ত অবস্থায় থাকে। এন্ডপয়েন্টে Keepalives সক্রিয় না হলে এই পদ্ধতিটি কিছুই করে না।

নিষ্ক্রিয় রিসিভ

void DisableReceive(
  void
)

অভ্যর্থনা অক্ষম করুন।

সমস্ত ইভেন্ট হ্যান্ডলার অক্ষম করুন। একটি এন্ডপয়েন্টে পাঠানো ডেটা যা অভ্যর্থনাকে অক্ষম করে প্রাপ্তির উইন্ডোটি শেষ না হওয়া পর্যন্ত তা স্বীকার করা হবে৷

কিপএলাইভ সক্ষম করুন

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

TCP "কিপ-অ্যালাইভ" বিকল্পটি সক্রিয় করুন।

TCPEndPoint::EnableKeepAlive

প্রতি interval অন্তর অন্তর TCP "কিপ-অ্যালাইভ" প্রোব সেগমেন্ট স্বয়ংক্রিয়ভাবে প্রেরণ করা শুরু করুন। নেতিবাচক প্রতিক্রিয়া প্রাপ্তির পরে, অথবা ইতিবাচক প্রতিক্রিয়া না পেয়ে timeoutCount প্রোব সেগমেন্টগুলি পাঠানোর পরে সংযোগটি স্বয়ংক্রিয়ভাবে বাতিল হয়ে যাবে।

বিস্তারিত
পরামিতি
[in] interval
অনুসন্ধানের অনুরোধের মধ্যে সেকেন্ডে সময়।
[in] timeoutCount
সময় শেষ হওয়ার আগে পাঠানোর জন্য প্রোবের সংখ্যা।
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা এবং পোর্ট বের করা হয়েছে।
INET_ERROR_INCORRECT_STATE
TCP সংযোগ প্রতিষ্ঠিত হয়নি।
INET_ERROR_CONNECTION_ABORTED
TCP সংযোগ আর খোলা নেই.
INET_ERROR_NOT_IMPLEMENTED
সিস্টেম বাস্তবায়ন সম্পূর্ণ নয়।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

বিশদ বিবরণের জন্য RFC 1122, বিভাগ 4.2.3.6 দেখুন।

সংশ্লিষ্ট TCP সংযোগে TCP Keepalive প্রোব সক্রিয় করুন।

দ্রষ্টব্য: এই পদ্ধতিটি শুধুমাত্র তখনই বলা যেতে পারে যখন শেষ পয়েন্টটি সংযুক্ত অবস্থায় থাকে। কিপলাইভ ব্যবধান বা টাইমআউট গণনা সামঞ্জস্য করতে এই পদ্ধতিটি একাধিকবার বলা যেতে পারে।

বিস্তারিত
পরামিতি
interval
কিপলাইভ প্রোবের মধ্যে ব্যবধান (সেকেন্ডে)। এই মানটি প্রেরিত সর্বশেষ ডেটা প্যাকেট এবং প্রথম কিপলাইভ প্রোবের সংক্রমণের মধ্যে সময়কেও নিয়ন্ত্রণ করে।
timeoutCount
সংযোগের আগে সর্বাধিক সংখ্যক অস্বীকৃত প্রোব ব্যর্থ হয়েছে বলে গণ্য করা হবে।

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

EnableNoDelay.

TCPEndPoint::EnableNoDelay

TCP_NODELAY সকেট বিকল্পগুলি সেট করে TCP-তে নেগেল বাফারিং অ্যালগরিদম বন্ধ করুন।

প্রাপ্তি সক্ষম করুন

void EnableReceive(
  void
)

অভ্যর্থনা সক্ষম করুন।

সমস্ত ইভেন্ট হ্যান্ডলার সক্ষম করুন। একটি এন্ডপয়েন্টে পাঠানো ডেটা যা অভ্যর্থনাকে অক্ষম করে প্রাপ্তির উইন্ডোটি শেষ না হওয়া পর্যন্ত তা স্বীকার করা হবে৷

বিনামূল্যে

void Free(
  void
)

ত্রুটি উপেক্ষা করে TCP সম্পূর্ণ বন্ধ করুন (বা চালিয়ে যান)।

অবজেক্টটি ফ্রি পুলে ফিরিয়ে দেওয়া হয়, এবং বাকি সমস্ত ব্যবহারকারীর রেফারেন্স পরবর্তীতে অবৈধ।

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

স্থানীয় শেষ পয়েন্টের IP ঠিকানা এবং TCP পোর্ট বের করুন।

উভয় যুক্তির জন্য NULL পয়েন্টার মান ব্যবহার করবেন না।

বিস্তারিত
পরামিতি
[out] retAddr
স্থানীয় শেষ পয়েন্টের আইপি ঠিকানা।
[out] retPort
স্থানীয় শেষ পয়েন্টের TCP পোর্ট।
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা এবং পোর্ট বের করা হয়েছে।
INET_ERROR_INCORRECT_STATE
TCP সংযোগ প্রতিষ্ঠিত হয়নি।
INET_ERROR_CONNECTION_ABORTED
TCP সংযোগ আর খোলা নেই.

GetPeerInfo

INET_ERROR GetPeerInfo(
  IPAddress *retAddr,
  uint16_t *retPort
) const 

রিমোট এন্ডপয়েন্টের IP ঠিকানা এবং TCP পোর্ট বের করুন।

উভয় যুক্তির জন্য NULL পয়েন্টার মান ব্যবহার করবেন না।

বিস্তারিত
পরামিতি
[out] retAddr
রিমোট এন্ডপয়েন্টের IP ঠিকানা।
[out] retPort
দূরবর্তী শেষ পয়েন্টের TCP পোর্ট।
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা এবং পোর্ট বের করা হয়েছে।
INET_ERROR_INCORRECT_STATE
TCP সংযোগ প্রতিষ্ঠিত হয়নি।
INET_ERROR_CONNECTION_ABORTED
TCP সংযোগ আর খোলা নেই.

সংযুক্ত

bool IsConnected(
  void
) const 

TCP সংযোগ স্থাপন করা হয়েছে কিনা তা বের করুন।

শুনুন

INET_ERROR Listen(
  uint16_t backlog
)

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

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

বিস্তারিত
পরামিতি
[in] backlog
সংযোগ গ্রহণযোগ্যতার সারির সর্বোচ্চ গভীরতা
রিটার্ন মান
INET_NO_ERROR
সফলতা: বার্তা গ্রহণের জন্য শেষ বিন্দু প্রস্তুত।
INET_ERROR_INCORRECT_STATE
শেষ বিন্দু ইতিমধ্যে শুনছে.

কিছু প্ল্যাটফর্মে, backlog যুক্তি ব্যবহার করা হয় না (সারির গভীরতা স্থির করা হয়েছে; এক সময়ে শুধুমাত্র একটি সংযোগ গ্রহণ করা যেতে পারে)।

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

লগআইডি

uint16_t LogId(
  void
)

শেষ বিন্দুর জন্য একটি শনাক্তকারী পান।

বিস্তারিত
রিটার্নস
ব্যবহারের লগগুলির জন্য একটি অস্বচ্ছ অনন্য শনাক্তকারী প্রদান করে।

মার্কঅ্যাক্টিভ

void MarkActive(
  void
)

নোট করুন কার্যকলাপ, অন্য কথায়, নিষ্ক্রিয় টাইমার রিসেট করুন।

নিষ্ক্রিয় টাইমার শূন্যে রিসেট করুন।

মুলতুবিপ্রাপ্তির দৈর্ঘ্য

uint32_t PendingReceiveLength(
  void
)

অস্বীকৃত প্রাপ্ত ডেটার দৈর্ঘ্য বের করুন।

বিস্তারিত
রিটার্নস
প্রাপ্তির সারিতে বাইটের সংখ্যা যা এখনও AckReceive(uint16_t len) এর সাথে স্বীকার করা হয়নি।

পেন্ডিং সেন্ডলেংথ

uint32_t PendingSendLength(
  void
)

প্রথম প্রেরণের অপেক্ষায় থাকা ডেটার দৈর্ঘ্য বের করুন।

বিস্তারিত
রিটার্নস
ট্রান্সমিট সারিতে আনট্রান্সমিটেড বাইটের সংখ্যা।

PutBackReceivedData

INET_ERROR PutBackReceivedData(
  Weave::System::PacketBuffer *data
)

রিসিভ সারির মাথায় মেসেজ টেক্সটটি পুশ করুন।

এই পদ্ধতিটি শুধুমাত্র ডেটা রিসেপশন ইভেন্ট হ্যান্ডলারদের দ্বারা কল করা যেতে পারে যাতে ডেটার একটি অস্বীকৃত অংশ প্রাপ্তির সারিতে ফিরিয়ে দেওয়া যায়। যদি কলকারী একটি ডেটা রিসেপশন ইভেন্ট হ্যান্ডলারের সুযোগের বাইরে থাকে তবে কর্মক্ষম শব্দার্থ অনির্ধারিত থাকে, data হ্যান্ডলারকে দেওয়া Weave::System::PacketBuffer নয়, বা data বাইটগুলির পরে একটি অস্বীকৃত অংশ অবশিষ্ট থাকে না AckReceive(uint16_t len) পদ্ধতিতে পূর্বে কল করুন।

বিস্তারিত
পরামিতি
[out] data
ধাক্কা মেসেজ টেক্সট.
রিটার্ন মান
INET_NO_ERROR
সাফল্য: অভ্যর্থনা স্বীকৃত।
INET_ERROR_INCORRECT_STATE
TCP সংযোগ প্রতিষ্ঠিত হয়নি।

পাঠান

INET_ERROR Send(
  Weave::System::PacketBuffer *data,
  bool push
)

TCP সংযোগে বার্তা পাঠ্য পাঠান।

Weave::System::PacketBuffer::Free ট্রান্সমিশন সফল বা ব্যর্থ হোক না কেন data আর্গুমেন্টে ফ্রি পদ্ধতি বলা হয়।

বিস্তারিত
পরামিতি
[out] data
পাঠাতে মেসেজ টেক্সট.
[out] push
যদি true , তাহলে অবিলম্বে পাঠান, অন্যথায় সারিবদ্ধ করুন।
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা এবং পোর্ট বের করা হয়েছে।
INET_ERROR_INCORRECT_STATE
TCP সংযোগ প্রতিষ্ঠিত হয়নি।

কানেক্টটাইমআউট সেট করুন

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

সফল হওয়ার জন্য বা একটি ত্রুটি ফেরত দেওয়ার জন্য সংযোগের সময়সীমা সেট করুন।

বিস্তারিত
পরামিতি
[in] connTimeoutMsecs

ইউজারটাইমআউট সেট করুন

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

TCP TCP_USER_TIMEOUT সকেট বিকল্প সেট করুন।

TCPEndPoint::SetUserTimeout

যখন মানটি 0-এর বেশি হয়, তখন এটি মিলিসেকেন্ডে সর্বাধিক সময় নির্দিষ্ট করে যে TCP জোরপূর্বক সংশ্লিষ্ট সংযোগটি বন্ধ করার আগে প্রেরণ করা ডেটা অস্বীকৃত থাকতে পারে। যদি বিকল্পের মান 0 হিসাবে নির্দিষ্ট করা হয়, TCP সিস্টেম ডিফল্ট ব্যবহার করবে। আরও বিস্তারিত জানার জন্য RFC 5482 দেখুন।

বিস্তারিত
পরামিতি
[in] userTimeoutMillis
Tcp ব্যবহারকারীর টাইমআউট মান মিলিসেকেন্ডে।
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা এবং পোর্ট বের করা হয়েছে।
INET_ERROR_NOT_IMPLEMENTED
সিস্টেম বাস্তবায়ন সম্পূর্ণ নয়।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি

TCP ব্যবহারকারী টাইমআউট সকেট বিকল্প সেট করুন।

যখন মানটি 0-এর বেশি হয়, তখন এটি মিলিসেকেন্ডে সর্বাধিক সময় নির্দিষ্ট করে যে TCP জোরপূর্বক সংশ্লিষ্ট সংযোগটি বন্ধ করার আগে প্রেরণ করা ডেটা অস্বীকৃত থাকতে পারে। যদি বিকল্পের মান 0 হিসাবে নির্দিষ্ট করা হয়, TCP সিস্টেম ডিফল্ট ব্যবহার করবে। আরও বিস্তারিত জানার জন্য RFC 5482 দেখুন।

দ্রষ্টব্য: এই পদ্ধতিটি শুধুমাত্র তখনই বলা যেতে পারে যখন শেষ পয়েন্টটি সংযুক্ত অবস্থায় থাকে। Keepalive ব্যবধান বা টাইমআউট গণনা সামঞ্জস্য করতে এই পদ্ধতিটি একাধিকবার কল করা যেতে পারে।

শাটডাউন

INET_ERROR Shutdown(
  void
)

TCP অর্ধেক বন্ধ শুরু করুন, অন্য কথায়, পাঠানোর সাথে শেষ।

বিস্তারিত
রিটার্ন মান
INET_NO_ERROR
সাফল্য: ঠিকানা এবং পোর্ট বের করা হয়েছে।
INET_ERROR_INCORRECT_STATE
TCP সংযোগ প্রতিষ্ঠিত হয়নি।
other
অন্য সিস্টেম বা প্ল্যাটফর্ম ত্রুটি