nl:: বুনা:: এক্সচেঞ্জ কনটেক্সট

#include <src/lib/core/WeaveExchangeMgr.h>

এই ক্লাসটি দুই বা ততোধিক নোডের মধ্যে একটি চলমান কথোপকথন ( এক্সচেঞ্জ কনটেক্সট ) উপস্থাপন করে।

সারাংশ

এটি বিভিন্ন ট্রান্সপোর্ট মেকানিজম, উদাহরণস্বরূপ, TCP, UDP, বা Weave Reliable Messaging-এর মাধ্যমে একটি ExchangeContext- এর মধ্যে Weave বার্তাগুলিকে এনকোডিং এবং যোগাযোগের পদ্ধতিগুলিকে সংজ্ঞায়িত করে৷

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

@34 {
kSendFlag_AutoRetrans = 0x0001,
kSendFlag_ExpectResponse = 0x0002,
kSendFlag_RetransmissionTrickle = 0x0004,
kSendFlag_DelaySend = 0x0008,
kSendFlag_ReuseMessageId = 0x0010,
kSendFlag_ReuseSourceId = 0x0020,
kSendFlag_RetainBuffer = 0x0040,
kSendFlag_AlreadyEncoded = 0x0080,
kSendFlag_DefaultMulticastSourceAddress = 0x0100,
kSendFlag_FromInitiator = 0x0200,
kSendFlag_RequestAck = 0x0400,
kSendFlag_NoAutoRequestAck = 0x0800,
kSendFlag_MulticastFromLinkLocal = kSendFlag_DefaultMulticastSourceAddress
}
enum
@35 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct )(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
এই ফাংশন হল একটি বিদ্যমান উইভ সংযোগ বন্ধ হয়ে গেলে আহ্বান করার জন্য অ্যাপ্লিকেশন কলব্যাক।
KeyErrorFunct )(ExchangeContext *ec, WEAVE_ERROR keyErr) typedef
void(*
কী এরর মেসেজ হ্যান্ডলিং ফাংশনের ধরন।
MessageReceiveFunct )(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload) typedef
void(*
এই ফাংশন হল একটি প্রাপ্ত ওয়েভ বার্তা পরিচালনার জন্য অ্যাপ্লিকেশন কলব্যাক।
ResponseTimeoutFunct )(ExchangeContext *ec) typedef
void(*
এই ফাংশনটি হল অ্যাপ্লিকেশান কলব্যাক যা আহ্বান করার জন্য যখন একটি প্রতিক্রিয়া বার্তা প্রাপ্তির সময়সীমা শেষ হয়ে যায়।
RetransmissionTimeoutFunct )(ExchangeContext *ec) typedef
void(*
এই ফাংশনটি হল একটি অ্যাপ্লিকেশন কলব্যাক যা আহ্বান করার জন্য যখন পূর্বে পাঠানো বার্তার পুনঃপ্রচারের সময়সীমা শেষ হয়ে যায়।
Timeout typedef
uint32_t
এই ExchangeContext- এ মিলিসেকেন্ডে সময়সীমা প্রকাশ করতে ব্যবহৃত টাইপ।
WRMPAckRcvdFunct )(ExchangeContext *ec, void *msgCtxt) typedef
void(*
এই ফাংশনটি হল অ্যাপ্লিকেশন কলব্যাক যা একটি উইভ বার্তার জন্য যখন একটি স্বীকৃতি প্রাপ্ত হয় যা উইভ নির্ভরযোগ্য বার্তাপ্রেরণ প্রোটোকলের অংশ হিসাবে অনুরোধ করেছিল।
WRMPPauseRcvdFunct )(ExchangeContext *ec, uint32_t pauseTime) typedef
void(*
ওয়েভ রিলায়েবল মেসেজিং প্রোটোকলের অংশ হিসেবে থ্রটল মেসেজ বা বিলম্বিত ডেলিভারি মেসেজ প্রাপ্ত হলে এই ফাংশনটি হল অ্যাপ্লিকেশন কলব্যাক।
WRMPSendErrorFunct )(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt) typedef
void(*
এই ফাংশনটি হল একটি ওয়েভ বার্তা পাঠানোর সময় একটি ত্রুটির সম্মুখীন হলে আহ্বান করার জন্য অ্যাপ্লিকেশন কলব্যাক৷

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

AllowDuplicateMsgs
bool
প্রদত্ত বিনিময়ের জন্য ডুপ্লিকেট বার্তা অনুমোদিত কিনা তার বুলিয়ান সূচক।
AppState
void *
অ্যাপ্লিকেশান-নির্দিষ্ট রাষ্ট্র বস্তুর পয়েন্টার.
Con
[শুধুই পড়ুন] সংযুক্ত ওয়েভ সংযোগ।
EncryptionType
uint8_t
একটি বার্তা পাঠানোর সময় ব্যবহার করার জন্য এনক্রিপশন প্রকার।
ExchangeId
uint16_t
[শুধুমাত্র পড়ুন] বরাদ্দ করা বিনিময় আইডি।
ExchangeMgr
[শুধুই পড়ুন] মালিকানাধীন এক্সচেঞ্জ ম্যানেজার।
KeyId
uint16_t
একটি বার্তা পাঠানোর সময় ব্যবহার করার জন্য এনক্রিপশন কী।
OnAckRcvd
প্রাপ্তির স্বীকৃতির জন্য আবেদন কলব্যাক।
OnConnectionClosed
OnDDRcvd
প্রাপ্ত বিলম্বিত বিতরণ বার্তার জন্য আবেদন কলব্যাক।
OnKeyError
এই ফাংশন হল অ্যাপ্লিকেশন কলব্যাক যা পিয়ারের কাছ থেকে মূল ত্রুটির বার্তা প্রাপ্ত হলে আহ্বান করার জন্য।
OnMessageReceived
OnResponseTimeout
OnRetransmissionTimeout
OnSendError
পাঠানোর সময় ত্রুটির জন্য অ্যাপ্লিকেশন কলব্যাক।
OnThrottleRcvd
প্রাপ্ত থ্রটল বার্তার জন্য আবেদন কলব্যাক।
PeerAddr
IPAddress
[শুধুমাত্র পড়ুন] পিয়ার নোডের আইপি ঠিকানা।
PeerIntf
InterfaceId
[শুধুমাত্র পড়ুন] সহকর্মীকে বার্তা পাঠানোর সময় আউটবাউন্ড ইন্টারফেস ব্যবহার করা হবে।
PeerNodeId
uint64_t
[শুধুই পড়ুন] পিয়ার নোডের নোড আইডি।
PeerPort
uint16_t
[শুধুই পড়ুন] পিয়ার নোডের পোর্ট।
ResponseTimeout
প্রতিক্রিয়ার জন্য অপেক্ষা করার সর্বোচ্চ সময় (মিলিসেকেন্ডে); 0 প্রতিক্রিয়ার সময়সীমা নিষ্ক্রিয় করে।
RetransInterval
uint32_t
রিট্রান্সমিশনের মধ্যে সময় (মিলিসেকেন্ডে); 0 রিট্রান্সমিশন অক্ষম করে।
mMsgProtocolVersion
uint16_t
এক্সচেঞ্জ কনটেক্সটের জন্য বার্তা প্রোটোকল সংস্করণ।
mWRMPConfig
WRMP কনফিগারেশন।

পাবলিক ফাংশন

Abort (void)
void
এক্সচেঞ্জ প্রসঙ্গ অবিলম্বে বাতিল করুন এবং এর সমস্ত রেফারেন্স ছেড়ে দিন।
AddRef (void)
void
বিনিময় প্রসঙ্গের জন্য রেফারেন্স কাউন্টার এক দ্বারা বৃদ্ধি করুন।
AutoRequestAck () const
bool
যখনই একটি বার্তা পাঠানো হবে তখন একটি স্বীকৃতির অনুরোধ করা হবে কিনা তা ফেরত দেয়।
CancelRetrans (void)
void
ট্রিকল রিট্রান্সমিশন মেকানিজম বাতিল করুন।
Close (void)
void
সুন্দরভাবে একটি বিনিময় প্রসঙ্গ বন্ধ করুন.
EncodeExchHeader ( WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
এক্সচেঞ্জ হেডারটিকে একটি বার্তা বাফারে এনকোড করুন।
GetAutoReleaseKey () const
bool
বিনিময় মুক্ত করার সময় এক্সচেঞ্জের সাথে যুক্ত এনক্রিপশন কী প্রকাশ করা উচিত কিনা তা ফেরত দিন।
GetCurrentRetransmitTimeout (void)
uint32_t
বর্তমান রিট্রান্সমিট টাইমআউট পান।
GetPeerDescription (char *buf, uint32_t bufSize) const
void
পিয়ার নোড এবং এর সংশ্লিষ্ট ঠিকানা/সংযোগের তথ্য বর্ণনা করে একটি স্ট্রিং তৈরি করে।
HandleTrickleMessage (const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
void
বিনিময় প্রসঙ্গের মধ্যে ট্রিকল বার্তা পরিচালনা করুন।
HasPeerRequestedAck (void) const
bool
পিয়ার এই এক্সচেঞ্জে কমপক্ষে একটি বার্তার জন্য স্বীকৃতির অনুরোধ করেছে কিনা তা নির্ধারণ করুন।
HasRcvdMsgFromPeer (void) const
bool
পিয়ার থেকে এই এক্সচেঞ্জে অন্তত একটি বার্তা গৃহীত হয়েছে কিনা তা নির্ধারণ করুন।
IsAckPending (void) const
bool
এই এক্সচেঞ্জে পিয়ারের কাছে পাঠানোর জন্য ইতিমধ্যে একটি স্বীকৃতি মুলতুবি আছে কিনা তা নির্ধারণ করুন।
IsConnectionClosed (void) const
bool
এক্সচেঞ্জ কনটেক্সট এর সাথে যুক্ত সক্রিয় WeaveConnection আছে কিনা তা নির্ধারণ করুন।
IsInitiator (void) const
bool
প্রসঙ্গটি বিনিময়ের সূচনাকারী কিনা তা নির্ধারণ করুন।
IsResponseExpected (void) const
bool
এই বিনিময়ে পাঠানো বার্তাগুলির জন্য একটি প্রতিক্রিয়া প্রত্যাশিত কিনা তা নির্ধারণ করুন৷
Release (void)
void
এই বিনিময় প্রসঙ্গে রেফারেন্স রিলিজ.
SendCommonNullMessage (void)
একটি সাধারণ::শূন্য বার্তা পাঠান।
SendMessage (uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
এই বিনিময় একটি Weave বার্তা পাঠান.
SendMessage (uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
এই বিনিময় একটি Weave বার্তা পাঠান.
SetAckPending (bool inAckPending)
void
এই বিনিময়ে পিয়ারের কাছে একটি স্বীকৃতি ফেরত পাঠানোর প্রয়োজন হলে সেট করুন।
SetAutoReleaseKey (bool autoReleaseKey)
void
এক্সচেঞ্জ মুক্ত হলে এক্সচেঞ্জের সাথে যুক্ত এনক্রিপশন কী প্রকাশ করা উচিত কিনা তা সেট করুন।
SetAutoRequestAck (bool autoReqAck)
void
যখনই একটি বার্তা পাঠানো হয় তখন একটি স্বীকৃতির অনুরোধ করা উচিত কিনা তা সেট করুন৷
SetConnectionClosed (bool inConnectionClosed)
void
kFlagConnectionClosed পতাকা বিট সেট করুন।
SetDropAck (bool inDropAck)
void
WeaveExchangeManager এই প্রেক্ষাপটের জন্য স্বীকৃতি পাঠাবে কি না তা নির্ধারণ করুন।
SetInitiator (bool inInitiator)
void
kFlagInitiator পতাকা বিট সেট করুন।
SetMsgRcvdFromPeer (bool inMsgRcvdFromPeer)
void
এই এক্সচেঞ্জে পিয়ার থেকে একটি বার্তা গৃহীত হয়েছে কিনা তা সেট করুন।
SetPeerRequestedAck (bool inPeerRequestedAck)
void
এই এক্সচেঞ্জে প্রাপ্ত শেষ বার্তায় একটি স্বীকৃতির অনুরোধ করা হয়েছে কিনা তা সেট করুন।
SetResponseExpected (bool inResponseExpected)
void
এই বিনিময়ে একটি প্রতিক্রিয়া প্রত্যাশিত কিনা তা সেট করুন৷
SetShouldAutoReleaseConnection (bool autoReleaseCon)
void
এক্সচেঞ্জের সাথে যুক্ত ওয়েভ সংযোগটি যখন এক্সচেঞ্জটি মুক্ত হয় তখন মুক্তি দেওয়া উচিত কিনা তা সেট করুন।
SetupTrickleRetransmit (uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
সংশ্লিষ্ট রিট্রান্সমিশন ব্যবধান এবং রিব্রডকাস্ট থ্রেশহোল্ড সেট করে ট্রিকল রিট্রান্সমিশন মেকানিজম সেটআপ করুন।
ShouldAutoReleaseConnection () const
bool
এক্সচেঞ্জের সাথে যুক্ত উইভ সংযোগটি যখন বিনিময়টি মুক্ত করা হয় তখন মুক্তি দেওয়া উচিত কিনা তা ফেরত দিন।
ShouldDropAck (void) const
bool
WeaveExchangeManager একটি স্বীকৃতি পাঠানো উচিত নয় কিনা তা নির্ধারণ করুন।
StartTimerT (void)
ট্রিকল রিব্রডকাস্ট অ্যালগরিদমের পর্যায়ক্রমিক রিট্রান্সমিশন টাইমার মেকানিজম শুরু করুন।
TeardownTrickleRetransmit (void)
void
ট্রিকলের মধ্যে পর্যায়ক্রমিক টাইমারগুলি বাতিল করে এবং ওয়েভ মেসেজ ধরে থাকা মেসেজ বাফারকে মুক্ত করে ট্রিকল রিট্রান্সমিশন মেকানিজমকে বিচ্ছিন্ন করুন।
UseEphemeralUDPPort (void) const
bool
বিনিময়ের মাধ্যমে প্রেরিত বহির্গামী বার্তাগুলি স্থানীয় ক্ষণস্থায়ী UDP পোর্ট থেকে পাঠানো উচিত কিনা তা ফেরত দিন৷
WRMPFlushAcks (void)
WRMPSendDelayedDelivery (uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
একটি প্রেরক নোডকে অবহিত করতে একটি বিলম্বিত বিতরণ বার্তা পাঠান যে তার পূর্বে পাঠানো বার্তা প্রাপকের কাছে বিতরণ করার আগে একটি প্রত্যাশিত বিলম্ব অনুভব করবে।
WRMPSendThrottleFlow (uint32_t PauseTimeMillis)
পিয়ার নোডে একটি থ্রোটল ফ্লো বার্তা পাঠান যাতে বার্তা পাঠানোর থ্রোটল করার জন্য অনুরোধ করা হয়।

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

@34

 @34
বৈশিষ্ট্য
kSendFlag_AlreadyEncoded

বার্তাটি ইতিমধ্যে এনকোড করা হয়েছে তা নির্দেশ করতে ব্যবহৃত হয়।

kSendFlag_AutoRetrans

স্বয়ংক্রিয় রিট্রান্সমিশন সক্ষম হয়েছে তা নির্দেশ করতে ব্যবহৃত হয়।

kSendFlag_DefaultMulticastSourceAddress

IPv6 মাল্টিকাস্ট বার্তা পাঠানোর সময় ডিফল্ট IPv6 উৎস ঠিকানা নির্বাচন ব্যবহার করা উচিত তা নির্দেশ করার জন্য ব্যবহৃত হয়।

kSendFlag_DelaySend

বর্তমান বার্তা পাঠাতে দেরি হওয়া প্রয়োজন তা নির্দেশ করতে ব্যবহৃত হয়।

kSendFlag_ExpectResponse

একটি নির্দিষ্ট সময়সীমার মধ্যে একটি প্রতিক্রিয়া প্রত্যাশিত নির্দেশ করতে ব্যবহৃত হয়৷

kSendFlag_FromInitiator

বর্তমান বার্তাটি বিনিময়ের সূচনাকারী ইঙ্গিত করতে ব্যবহৃত হয়।

kSendFlag_MulticastFromLinkLocal

kSendFlag_DefaultMulticastSourceAddress এর জন্য অপ্রচলিত উপনাম।

kSendFlag_NoAutoRequestAck

একটি বার্তা পাঠানোর সময় স্বয়ংক্রিয়-অনুরোধ স্বীকৃতি বৈশিষ্ট্যটি দমন করুন।

kSendFlag_RequestAck

একটি স্বীকৃতির অনুরোধ করে একটি WRM বার্তা পাঠাতে ব্যবহৃত হয়।

kSendFlag_RetainBuffer

পাঠানোর পরে বার্তা বাফার মুক্ত করা উচিত নয় তা নির্দেশ করতে ব্যবহৃত হয়।

kSendFlag_RetransmissionTrickle

ট্রিকলের জন্য পুনরায় প্রেরণের প্রয়োজনীয়তা নির্দেশ করতে ব্যবহৃত হয়।

kSendFlag_ReuseMessageId

বার্তা শিরোনামে বার্তা আইডি পুনরায় ব্যবহার করা যেতে পারে তা নির্দেশ করতে ব্যবহৃত হয়।

kSendFlag_ReuseSourceId

বার্তা হেডারে সোর্স নোড আইডি পুনরায় ব্যবহার করা যেতে পারে তা নির্দেশ করতে ব্যবহৃত হয়।

@৩৫

 @35
বৈশিষ্ট্য
kGetPeerDescription_MaxLength

GetPeerDescription() দ্বারা প্রত্যাবর্তিত স্ট্রিংয়ের সর্বাধিক দৈর্ঘ্য (NUL অক্ষর সহ)।

সংযোগ বন্ধ ফাংশন

void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)

এই ফাংশন হল একটি বিদ্যমান উইভ সংযোগ বন্ধ হয়ে গেলে আহ্বান করার জন্য অ্যাপ্লিকেশন কলব্যাক।

বিস্তারিত
পরামিতি
[in] ec
এক্সচেঞ্জ কনটেক্সট অবজেক্টের একটি পয়েন্টার।
[in] con
WeaveConnection অবজেক্টের একটি পয়েন্টার।
[in] conErr
WEAVE_ERROR প্রকার যা সংযোগ বন্ধ হওয়ার সময় রিপোর্ট করা হয়েছিল৷

KeyErrorFunct

void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)

কী এরর মেসেজ হ্যান্ডলিং ফাংশনের ধরন।

বিস্তারিত
পরামিতি
[in] ec
এক্সচেঞ্জ কনটেক্সট অবজেক্টের একটি পয়েন্টার।
[in] keyErr
WEAVE_ERROR প্রকার যা মূল ত্রুটি বার্তায় রিপোর্ট করা হয়েছিল৷

MessageReceiveFunct

void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)

এই ফাংশন হল একটি প্রাপ্ত ওয়েভ বার্তা পরিচালনার জন্য অ্যাপ্লিকেশন কলব্যাক।

বিস্তারিত
পরামিতি
[in] ec
এক্সচেঞ্জ কনটেক্সট অবজেক্টের একটি পয়েন্টার।
[in] pktInfo
IPPacketInfo অবজেক্টের একটি পয়েন্টার।
[in] msgInfo
WeaveMessageInfo অবজেক্টের একটি পয়েন্টার।
[in] profileId
প্রাপ্ত বার্তার প্রোফাইল শনাক্তকারী।
[in] msgType
সংশ্লিষ্ট প্রোফাইলের বার্তার ধরন।
[in] payload
PacketBuffer অবজেক্টের একটি পয়েন্টার যা বার্তা পেলোড ধারণ করে।

ResponseTimeoutFunct

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

এই ফাংশনটি হল অ্যাপ্লিকেশান কলব্যাক যা আহ্বান করার জন্য যখন একটি প্রতিক্রিয়া বার্তা প্রাপ্তির সময়সীমা শেষ হয়ে যায়।

বিস্তারিত
পরামিতি
[in] ec
এক্সচেঞ্জ কনটেক্সট অবজেক্টের একটি পয়েন্টার।

RetransmissionTimeoutFunct

void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)

এই ফাংশনটি হল একটি অ্যাপ্লিকেশন কলব্যাক যা আহ্বান করার জন্য যখন পূর্বে পাঠানো বার্তার পুনঃপ্রচারের সময়সীমা শেষ হয়ে যায়।

বিস্তারিত
পরামিতি
[in] ec
এক্সচেঞ্জ কনটেক্সট অবজেক্টের একটি পয়েন্টার।

টাইমআউট

uint32_t Timeout

এই ExchangeContext- এ মিলিসেকেন্ডে সময়সীমা প্রকাশ করতে ব্যবহৃত টাইপ।

WRMPAckRcvdFunct

void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)

এই ফাংশনটি হল অ্যাপ্লিকেশন কলব্যাক যা একটি উইভ বার্তার জন্য যখন একটি স্বীকৃতি প্রাপ্ত হয় যা উইভ নির্ভরযোগ্য বার্তাপ্রেরণ প্রোটোকলের অংশ হিসাবে অনুরোধ করেছিল।

বিস্তারিত
পরামিতি
[in] ec
এক্সচেঞ্জ কনটেক্সট অবজেক্টের একটি পয়েন্টার।
[in] msgCtxt
স্বীকৃত মূল বার্তার সাথে যুক্ত কিছু নির্দিষ্ট প্রসঙ্গ বস্তুর একটি পয়েন্টার।

WRMPPpauseRcvdFunct

void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)

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

এই প্রতিটি বার্তার সাথে একটি সময় মান (মিলিসেকেন্ডে) থাকে যা এই এক্সচেঞ্জ কনটেক্সটে উইভ বার্তা পাঠানোর বিরতির সময় নির্দেশ করে।

বিস্তারিত
পরামিতি
[in] ec
এক্সচেঞ্জ কনটেক্সট অবজেক্টের একটি পয়েন্টার।
[in] pauseTime
ট্রান্সমিশন পজ করার সময় (মিলিসেকেন্ডে)।

WRMPSendErrorFunct

void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)

এই ফাংশনটি হল একটি ওয়েভ বার্তা পাঠানোর সময় একটি ত্রুটির সম্মুখীন হলে আহ্বান করার জন্য অ্যাপ্লিকেশন কলব্যাক৷

বিস্তারিত
পরামিতি
[in] ec
এক্সচেঞ্জ কনটেক্সট অবজেক্টের একটি পয়েন্টার।
[in] err
WEAVE_ERROR প্রকার যা বার্তা পাঠানোর সময় সম্মুখীন হয়েছিল৷
[in] msgCtxt
মূল বার্তার সাথে সম্পর্কিত কিছু নির্দিষ্ট প্রসঙ্গ বস্তুর একটি পয়েন্টার যা রিপোর্ট করা হচ্ছে।

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

DuplicateMsgs অনুমতি দিন

bool AllowDuplicateMsgs

প্রদত্ত বিনিময়ের জন্য ডুপ্লিকেট বার্তা অনুমোদিত কিনা তার বুলিয়ান সূচক।

অ্যাপস্টেট

void * AppState

অ্যাপ্লিকেশান-নির্দিষ্ট রাষ্ট্র বস্তুর পয়েন্টার.

কন

WeaveConnection * Con

[শুধুই পড়ুন] সংযুক্ত ওয়েভ সংযোগ।

এনক্রিপশন টাইপ

uint8_t EncryptionType

একটি বার্তা পাঠানোর সময় ব্যবহার করার জন্য এনক্রিপশন প্রকার।

এক্সচেঞ্জআইডি

uint16_t ExchangeId

[শুধুমাত্র পড়ুন] বরাদ্দ করা বিনিময় আইডি।

এক্সচেঞ্জএমজিআর

WeaveExchangeManager * ExchangeMgr

[শুধুই পড়ুন] মালিকানাধীন এক্সচেঞ্জ ম্যানেজার।

কীআইডি

uint16_t KeyId

একটি বার্তা পাঠানোর সময় ব্যবহার করার জন্য এনক্রিপশন কী।

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

প্রাপ্তির স্বীকৃতির জন্য আবেদন কলব্যাক।

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

ConnectionClosedFunct OnConnectionClosed

অনডিডিআরসিভিডি

WRMPPauseRcvdFunct OnDDRcvd

প্রাপ্ত বিলম্বিত বিতরণ বার্তার জন্য আবেদন কলব্যাক।

OnKeyError

KeyErrorFunct OnKeyError

এই ফাংশন হল অ্যাপ্লিকেশন কলব্যাক যা পিয়ারের কাছ থেকে মূল ত্রুটির বার্তা প্রাপ্ত হলে আহ্বান করার জন্য।

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

অনরিট্রান্সমিশনটাইমআউট

RetransmissionTimeoutFunct OnRetransmissionTimeout

OnSendError

WRMPSendErrorFunct OnSendError

পাঠানোর সময় ত্রুটির জন্য অ্যাপ্লিকেশন কলব্যাক।

OnThrottleRcvd

WRMPPauseRcvdFunct OnThrottleRcvd

প্রাপ্ত থ্রটল বার্তার জন্য আবেদন কলব্যাক।

পিয়ারঅ্যাড

IPAddress PeerAddr

[শুধুমাত্র পড়ুন] পিয়ার নোডের আইপি ঠিকানা।

PeerIntf

InterfaceId PeerIntf

[শুধুমাত্র পড়ুন] সহকর্মীকে বার্তা পাঠানোর সময় আউটবাউন্ড ইন্টারফেস ব্যবহার করা হবে।

(শুধুমাত্র UDP এর জন্য অর্থবহ।)

PeerNodeId

uint64_t PeerNodeId

[শুধুই পড়ুন] পিয়ার নোডের নোড আইডি।

পিয়ারপোর্ট

uint16_t PeerPort

[শুধুমাত্র পড়ুন] পিয়ার নোডের পোর্ট।

প্রতিক্রিয়ার সময়সীমা

Timeout ResponseTimeout

প্রতিক্রিয়ার জন্য অপেক্ষা করার সর্বোচ্চ সময় (মিলিসেকেন্ডে); 0 প্রতিক্রিয়ার সময়সীমা নিষ্ক্রিয় করে।

RetransInterval

uint32_t RetransInterval

পুনঃপ্রচারের মধ্যে সময় (মিলিসেকেন্ডে); 0 রিট্রান্সমিশন অক্ষম করে।

mMsgProtocol সংস্করণ

uint16_t mMsgProtocolVersion

এক্সচেঞ্জ কনটেক্সটের জন্য বার্তা প্রোটোকল সংস্করণ।

mWRMPC কনফিগারেশন

WRMPConfig mWRMPConfig

WRMP কনফিগারেশন।

পাবলিক ফাংশন

গর্ভপাত

void Abort(
  void
)

এক্সচেঞ্জ প্রসঙ্গ অবিলম্বে বাতিল করুন এবং এর সমস্ত রেফারেন্স ছেড়ে দিন।

AddRef

void AddRef(
  void
)

বিনিময় প্রসঙ্গের জন্য রেফারেন্স কাউন্টার এক দ্বারা বৃদ্ধি করুন।

AutoRequestAck

bool AutoRequestAck() const 

যখনই একটি বার্তা পাঠানো হবে তখন একটি স্বীকৃতির অনুরোধ করা হবে কিনা তা ফেরত দেয়।

বাতিল রেট্রান্স

void CancelRetrans(
  void
)

ট্রিকল রিট্রান্সমিশন মেকানিজম বাতিল করুন।

বন্ধ

void Close(
  void
)

সুন্দরভাবে একটি বিনিময় প্রসঙ্গ বন্ধ করুন.

এই কল রেফারেন্স কাউন্ট কমিয়ে দেয় এবং যখন রেফারেন্স কাউন্ট শূন্যে চলে যায় তখন এক্সচেঞ্জ রিলিজ করে।

EncodeExchHeader

WEAVE_ERROR EncodeExchHeader(
  WeaveExchangeHeader *exchangeHeader,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags
)

এক্সচেঞ্জ হেডারটিকে একটি বার্তা বাফারে এনকোড করুন।

বিস্তারিত
পরামিতি
[in] exchangeHeader
ওয়েভ এক্সচেঞ্জ হেডার অবজেক্টের একটি পয়েন্টার।
[in] profileId
ওয়েভ মেসেজের প্রোফাইল আইডেন্টিফায়ার পাঠানো হবে।
[in] msgType
সংশ্লিষ্ট প্রোফাইলের বার্তার ধরন।
[in] msgBuf
ওয়েভ বার্তার জন্য প্রয়োজনীয় প্যাকেটবাফারের একটি পয়েন্টার।
[in] sendFlags
ওয়েভ বার্তা পাঠানোর জন্য অ্যাপ্লিকেশন দ্বারা সেট করা পতাকা।
রিটার্ন মান
WEAVE_ERROR_BUFFER_TOO_SMALL
যদি বার্তা বাফারে এক্সচেঞ্জ হেডার এনকোড করার জন্য পর্যাপ্ত স্থান না থাকে।
WEAVE_NO_ERROR
যদি বার্তার এনকোডিং সফল হয়।

GetAutoReleaseKey

bool GetAutoReleaseKey() const 

বিনিময় মুক্ত করার সময় এক্সচেঞ্জের সাথে যুক্ত এনক্রিপশন কী প্রকাশ করা উচিত কিনা তা ফেরত দিন।

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

বর্তমান রিট্রান্সমিট টাইমআউট পান।

এক্সচেঞ্জ কনটেক্সট এর পিয়ারের সাথে একটি সক্রিয় বার্তা বিনিময় আছে কিনা তার উপর ভিত্তি করে এটি হয় প্রারম্ভিক বা সক্রিয় পুনঃপ্রচার সময় শেষ হবে।

বিস্তারিত
রিটার্নস
বর্তমান রিট্রান্সমিট সময়।

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

পিয়ার নোড এবং এর সংশ্লিষ্ট ঠিকানা/সংযোগের তথ্য বর্ণনা করে একটি স্ট্রিং তৈরি করে।

বিস্তারিত
পরামিতি
[in] buf
একটি বাফারের একটি পয়েন্টার যেখানে স্ট্রিং লেখা উচিত। সরবরাহ করা বাফারটি অন্তত kGetPeerDescription_MaxLength এর মত বড় হওয়া উচিত। যদি একটি ছোট বাফার দেওয়া হয় তবে স্ট্রিংটি ফিট করার জন্য কাটা হবে। আউটপুট সব ক্ষেত্রে একটি NUL সমাপ্তি অক্ষর অন্তর্ভুক্ত করবে।
[in] bufSize
বুফ দ্বারা নির্দেশিত বাফারের আকার।

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

void HandleTrickleMessage(
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo
)

বিনিময় প্রসঙ্গের মধ্যে ট্রিকল বার্তা পরিচালনা করুন।

বিস্তারিত
পরামিতি
[in] pktInfo
IPPacketInfo অবজেক্টের একটি পয়েন্টার।
[in] msgInfo
Weave বার্তা তথ্য কাঠামোর একটি পয়েন্টার।

HasPeerRequestedAck

bool HasPeerRequestedAck(
  void
) const 

পিয়ার এই এক্সচেঞ্জে কমপক্ষে একটি বার্তার জন্য স্বীকৃতির অনুরোধ করেছে কিনা তা নির্ধারণ করুন।

বিস্তারিত
রিটার্নস
স্বীকৃতির অনুরোধ করলে 'সত্য' দেখায়, অন্যথায় 'মিথ্যা'।

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

পিয়ার থেকে এই এক্সচেঞ্জে অন্তত একটি বার্তা গৃহীত হয়েছে কিনা তা নির্ধারণ করুন।

বিস্তারিত
রিটার্নস
বার্তা প্রাপ্ত হলে 'সত্য' ফেরত দেয়, অন্যথায় 'মিথ্যা'।

IsAckPending

bool IsAckPending(
  void
) const 

এই এক্সচেঞ্জে পিয়ারের কাছে পাঠানোর জন্য ইতিমধ্যে একটি স্বীকৃতি মুলতুবি আছে কিনা তা নির্ধারণ করুন।

কানেকশন বন্ধ

bool IsConnectionClosed(
  void
) const 

এক্সচেঞ্জ কনটেক্সট এর সাথে যুক্ত সক্রিয় WeaveConnection আছে কিনা তা নির্ধারণ করুন।

বিস্তারিত
রিটার্নস
সংযোগ বন্ধ থাকলে 'সত্য' দেখায়, অন্যথায় 'মিথ্যা'।

ইস ইনিশিয়েটর

bool IsInitiator(
  void
) const 

প্রসঙ্গটি বিনিময়ের সূচনাকারী কিনা তা নির্ধারণ করুন।

বিস্তারিত
রিটার্নস
সূচনাকারী হলে 'সত্য' দেখায়, অন্যথায় 'মিথ্যা'।

প্রতিক্রিয়া প্রত্যাশিত

bool IsResponseExpected(
  void
) const 

এই বিনিময়ে পাঠানো বার্তাগুলির জন্য একটি প্রতিক্রিয়া প্রত্যাশিত কিনা তা নির্ধারণ করুন৷

বিস্তারিত
রিটার্নস
প্রতিক্রিয়া প্রত্যাশিত হলে 'সত্য' দেখায়, অন্যথায় 'মিথ্যা'।

মুক্তি

void Release(
  void
)

এই বিনিময় প্রসঙ্গে রেফারেন্স রিলিজ.

যদি গণনা এক থেকে কম হয় তবে প্রসঙ্গ বন্ধ করুন, সমস্ত অ্যাপ্লিকেশন কলব্যাক রিসেট করুন এবং সমস্ত টাইমার বন্ধ করুন।

SendCommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

একটি সাধারণ::শূন্য বার্তা পাঠান।

বিস্তারিত
রিটার্ন মান
WEAVE_ERROR_NO_MEMORY
প্যাকেটবাফার উপলব্ধ না হলে।
WEAVE_NO_ERROR
যদি পদ্ধতিটি সফল হয় বা ত্রুটিটি গুরুতর না হয়।
other
আরেকটি গুরুতর ত্রুটি SendMessage() দ্বারা ফিরে এসেছে।

বার্তা পাঠান

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgPayload,
  uint16_t sendFlags,
  void *msgCtxt
)

এই বিনিময় একটি Weave বার্তা পাঠান.

বিস্তারিত
পরামিতি
[in] profileId
ওয়েভ মেসেজের প্রোফাইল আইডেন্টিফায়ার পাঠানো হবে।
[in] msgType
সংশ্লিষ্ট প্রোফাইলের বার্তার ধরন।
[in] msgBuf
PacketBuffer অবজেক্টের একটি পয়েন্টার যা Weave বার্তা ধারণ করে।
[in] sendFlags
ওয়েভ বার্তা পাঠানোর জন্য অ্যাপ্লিকেশন দ্বারা সেট করা পতাকা।
[in] msgCtxt
প্রেরিত বার্তার সাথে যুক্ত হতে একটি অ্যাপ্লিকেশন-নির্দিষ্ট প্রসঙ্গ বস্তুর একটি পয়েন্টার।
রিটার্ন মান
WEAVE_ERROR_INVALID_ARGUMENT
যদি এই SendMessage API-এ একটি অবৈধ আর্গুমেন্ট পাস করা হয়।
WEAVE_ERROR_SEND_THROTTLED
যদি উইভ নির্ভরযোগ্য মেসেজিং প্রোটোকল ব্যবহার করার সময় এই বিনিময় প্রসঙ্গটি থ্রোটল করা হয়।
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
যদি নির্দিষ্ট প্রেরণ অপারেশন এবং ওয়েভ মেসেজ প্রোটোকল সংস্করণে কোনো অমিল থাকে যা সমর্থিত। উদাহরণস্বরূপ, এই ত্রুটিটি তৈরি হবে যদি উইভ নির্ভরযোগ্য মেসেজিং শব্দার্থবিদ্যার চেষ্টা করা হয় যখন ওয়েভ বার্তা প্রোটোকল সংস্করণ V1 হয়।
WEAVE_ERROR_NOT_CONNECTED
যদি প্রসঙ্গটি একটি সংযোগের সাথে যুক্ত ছিল যা এখন বন্ধ হয়ে গেছে।
WEAVE_ERROR_INCORRECT_STATE
যদি বিনিময় প্রসঙ্গের অবস্থা ভুল হয়।
WEAVE_NO_ERROR
যদি উইভ লেয়ার সফলভাবে নেটওয়ার্ক লেয়ারে মেসেজ পাঠায়।

বার্তা পাঠান

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags,
  WeaveMessageInfo *msgInfo,
  void *msgCtxt
)

এই বিনিময় একটি Weave বার্তা পাঠান.

বিস্তারিত
পরামিতি
[in] profileId
ওয়েভ মেসেজের প্রোফাইল আইডেন্টিফায়ার পাঠানো হবে।
[in] msgType
সংশ্লিষ্ট প্রোফাইলের বার্তার ধরন।
[in] msgBuf
PacketBuffer অবজেক্টের একটি পয়েন্টার যা Weave বার্তা ধারণ করে।
[in] sendFlags
ওয়েভ বার্তা পাঠানোর জন্য অ্যাপ্লিকেশন দ্বারা সেট করা পতাকা।
[in] msgInfo
WeaveMessageInfo অবজেক্টের একটি পয়েন্টার।
[in] msgCtxt
প্রেরিত বার্তার সাথে যুক্ত হতে একটি অ্যাপ্লিকেশন-নির্দিষ্ট প্রসঙ্গ বস্তুর একটি পয়েন্টার।
রিটার্ন মান
WEAVE_ERROR_INVALID_ARGUMENT
যদি এই SendMessage API-এ একটি অবৈধ আর্গুমেন্ট পাস করা হয়।
WEAVE_ERROR_SEND_THROTTLED
যদি উইভ নির্ভরযোগ্য মেসেজিং প্রোটোকল ব্যবহার করার সময় এই বিনিময় প্রসঙ্গটি থ্রোটল করা হয়।
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
যদি নির্দিষ্ট প্রেরণ অপারেশন এবং ওয়েভ মেসেজ প্রোটোকল সংস্করণে কোনো অমিল থাকে যা সমর্থিত। উদাহরণস্বরূপ, এই ত্রুটিটি তৈরি হবে যদি উইভ নির্ভরযোগ্য মেসেজিং শব্দার্থবিদ্যার চেষ্টা করা হয় যখন ওয়েভ বার্তা প্রোটোকল সংস্করণ V1 হয়।
WEAVE_ERROR_NOT_CONNECTED
যদি প্রসঙ্গটি একটি সংযোগের সাথে যুক্ত ছিল যা এখন বন্ধ হয়ে গেছে।
WEAVE_ERROR_INCORRECT_STATE
যদি বিনিময় প্রসঙ্গের অবস্থা ভুল হয়।
WEAVE_NO_ERROR
যদি উইভ লেয়ার সফলভাবে নেটওয়ার্ক লেয়ারে মেসেজ পাঠায়।

সেটঅ্যাকপেন্ডিং

void SetAckPending(
  bool inAckPending
)

এই বিনিময়ে পিয়ারের কাছে একটি স্বীকৃতি ফেরত পাঠানোর প্রয়োজন হলে সেট করুন।

বিস্তারিত
পরামিতি
[in] inAckPending
একটি বুলিয়ান নির্দেশ করে যে (সত্য) বা না (মিথ্যা) একটি প্রাপ্তি বার্তার জবাবে একটি স্বীকৃতি ফেরত পাঠানো উচিত।

সেটঅটোরিলিজকি

void SetAutoReleaseKey(
  bool autoReleaseKey
)

এক্সচেঞ্জ মুক্ত হলে এক্সচেঞ্জের সাথে যুক্ত এনক্রিপশন কী প্রকাশ করা উচিত কিনা তা সেট করুন।

বিস্তারিত
পরামিতি
[in] autoReleaseKey
সত্য যদি বার্তা এনক্রিপশন কী স্বয়ংক্রিয়ভাবে প্রকাশিত হয়।

সেটঅটোরিকুয়েস্টঅ্যাক

void SetAutoRequestAck(
  bool autoReqAck
)

যখনই একটি বার্তা পাঠানো হয় তখন একটি স্বীকৃতির অনুরোধ করা উচিত কিনা তা সেট করুন৷

বিস্তারিত
পরামিতি
[in] autoReqAck
একটি বুলিয়ান নির্দেশ করে যে যখনই একটি বার্তা পাঠানো হয় তখন একটি স্বীকৃতির অনুরোধ করা উচিত কিনা।

সেট সংযোগ বন্ধ

void SetConnectionClosed(
  bool inConnectionClosed
)

kFlagConnectionClosed পতাকা বিট সেট করুন।

এই পতাকা সেট করা হয় যখন একটি এক্সচেঞ্জ কনটেক্সটের সাথে যুক্ত একটি WeaveConnection বন্ধ থাকে।

বিস্তারিত
পরামিতি
[in] inConnectionClosed
একটি বুলিয়ান নির্দেশ করে যে প্রসঙ্গটি একটি সংযোগের সাথে যুক্ত ছিল কিনা (সত্য) বা না (মিথ্যা)।

SetDropAck

void SetDropAck(
  bool inDropAck
)

WeaveExchangeManager এই প্রেক্ষাপটের জন্য স্বীকৃতি পাঠাবে কি না তা নির্ধারণ করুন।

অভ্যন্তরীণ জন্য, ডিবাগ ব্যবহার শুধুমাত্র.

বিস্তারিত
পরামিতি
[in] inDropAck
একটি বুলিয়ান নির্দেশ করে যে (সত্য) বা না (মিথ্যা) বিনিময়ের জন্য স্বীকৃতিগুলি পাঠানো উচিত নয়।

সেট ইনিশিয়েটর

void SetInitiator(
  bool inInitiator
)

kFlagInitiator পতাকা বিট সেট করুন।

এই পতাকা নোড দ্বারা সেট করা হয় যা একটি বিনিময় শুরু করে।

বিস্তারিত
পরামিতি
[in] inInitiator
একটি বুলিয়ান নির্দেশ করে যে (সত্য) বা না (মিথ্যা) প্রসঙ্গটি বিনিময়ের সূচনাকারী।

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

এই এক্সচেঞ্জে পিয়ার থেকে একটি বার্তা গৃহীত হয়েছে কিনা তা সেট করুন।

বিস্তারিত
পরামিতি
[in] inMsgRcvdFromPeer
একটি বুলিয়ান নির্দেশ করে যে (সত্য) বা না (মিথ্যা) এই বিনিময় প্রসঙ্গে পিয়ার থেকে একটি বার্তা গৃহীত হয়েছে।

SetPeerRequestedAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

এই এক্সচেঞ্জে প্রাপ্ত শেষ বার্তায় একটি স্বীকৃতির অনুরোধ করা হয়েছে কিনা তা সেট করুন।

বিস্তারিত
পরামিতি
[in] inPeerRequestedAck
একটি বুলিয়ান নির্দেশ করে যে (সত্য) বা না (মিথ্যা) সর্বশেষ প্রাপ্ত বার্তায় একটি স্বীকৃতির অনুরোধ করা হয়েছিল।

SetResponseExpected

void SetResponseExpected(
  bool inResponseExpected
)

এই বিনিময়ে একটি প্রতিক্রিয়া প্রত্যাশিত কিনা তা সেট করুন৷

বিস্তারিত
পরামিতি
[in] inResponseExpected
একটি বুলিয়ান নির্দেশ করে যে (সত্য) বা না (মিথ্যা) এই বিনিময়ে একটি প্রতিক্রিয়া প্রত্যাশিত।

SetShouldAutoReleaseConnection

void SetShouldAutoReleaseConnection(
  bool autoReleaseCon
)

এক্সচেঞ্জের সাথে যুক্ত ওয়েভ সংযোগটি যখন এক্সচেঞ্জটি মুক্ত হয় তখন মুক্তি দেওয়া উচিত কিনা তা সেট করুন।

বিস্তারিত
পরামিতি
[in] autoReleaseCon
ওয়েভ সংযোগ স্বয়ংক্রিয়ভাবে প্রকাশ করা উচিত হলে সত্য।

ট্রিকল রিট্রান্সমিট সেটআপ করুন

WEAVE_ERROR SetupTrickleRetransmit(
  uint32_t retransInterval,
  uint8_t threshold,
  uint32_t timeout
)

সংশ্লিষ্ট রিট্রান্সমিশন ব্যবধান এবং রিব্রডকাস্ট থ্রেশহোল্ড সেট করে ট্রিকল রিট্রান্সমিশন মেকানিজম সেটআপ করুন।

বিস্তারিত
পরামিতি
[in] retransInterval
ট্রিকল রিব্রডকাস্ট অ্যালগরিদমের রিট্রান্সমিট ব্যবধান।
[in] threshold
একটি বার্তা পুনঃপ্রচারিত হওয়ার সর্বোচ্চ সংখ্যা।
[in] timeout
ট্রিকল রিট্রান্সমিশন টাইমার বাতিল করার আগে অপেক্ষা করার সর্বোচ্চ সময়।
রিটার্নস
WEAVE_NO_ERROR যদি Trickle সেটআপ সফল হয়, অন্যথায় একটি INET_ERROR একটি WEAVE_ERROR এ ম্যাপ করা হয়।

অটোরিলিজ সংযোগ হওয়া উচিত

bool ShouldAutoReleaseConnection() const 

এক্সচেঞ্জের সাথে যুক্ত উইভ সংযোগটি যখন বিনিময়টি মুক্ত করা হয় তখন মুক্তি দেওয়া উচিত কিনা তা ফেরত দিন।

উচিত ড্রপঅ্যাক

bool ShouldDropAck(
  void
) const 

WeaveExchangeManager একটি স্বীকৃতি পাঠানো উচিত নয় কিনা তা নির্ধারণ করুন।

অভ্যন্তরীণ জন্য, ডিবাগ ব্যবহার শুধুমাত্র.

স্টার্টটাইমারটি

WEAVE_ERROR StartTimerT(
  void
)

ট্রিকল রিব্রডকাস্ট অ্যালগরিদমের পর্যায়ক্রমিক রিট্রান্সমিশন টাইমার মেকানিজম শুরু করুন।

বিস্তারিত
রিটার্নস
WEAVE_NO_ERROR সফল হলে, অন্যথায় একটি INET_ERROR একটি WEAVE_ERROR এ ম্যাপ করা হয়েছে৷

TeardownTrickleRetransmit

void TeardownTrickleRetransmit(
  void
)

ট্রিকলের মধ্যে পর্যায়ক্রমিক টাইমারগুলি বাতিল করে এবং ওয়েভ মেসেজ ধরে থাকা মেসেজ বাফারকে মুক্ত করে ট্রিকল রিট্রান্সমিশন মেকানিজমকে বিচ্ছিন্ন করুন।

EphemeralUDPport ব্যবহার করুন

bool UseEphemeralUDPPort(
  void
) const 

বিনিময়ের মাধ্যমে প্রেরিত বহির্গামী বার্তাগুলি স্থানীয় ক্ষণস্থায়ী UDP পোর্ট থেকে পাঠানো উচিত কিনা তা ফেরত দিন৷

WRMPFlushAcks

WEAVE_ERROR WRMPFlushAcks(
  void
)

WRMPSendDelayed Delivery

WEAVE_ERROR WRMPSendDelayedDelivery(
  uint32_t PauseTimeMillis,
  uint64_t DelayedNodeId
)

একটি প্রেরক নোডকে অবহিত করতে একটি বিলম্বিত বিতরণ বার্তা পাঠান যে তার পূর্বে পাঠানো বার্তা প্রাপকের কাছে বিতরণ করার আগে একটি প্রত্যাশিত বিলম্ব অনুভব করবে।

ডেলিভারির আগে বার্তাগুলি বিলম্বিত হওয়ার সম্ভাব্য কারণগুলির মধ্যে একটি হল যখন প্রাপকের শেষ নোডটি নিদ্রাহীন। এই বার্তাটি সম্ভাব্যভাবে প্রেরণের পথে একটি উপযুক্ত মধ্যবর্তী নোড দ্বারা তৈরি করা হয়েছে যার বিলম্বিত বিতরণ সম্পর্কে অনুমান করার জন্য প্রাপকের যথেষ্ট জ্ঞান রয়েছে। এই বার্তাটি পাওয়ার পর, প্রেরক তার রি-ট্রান্সমিশন টাইমারগুলিকে সেই বার্তাগুলির জন্য পুনরায় সামঞ্জস্য করবে যা স্বীকৃতি ফিরে চায়৷

বিস্তারিত
পরামিতি
[in] pauseTimeMillis
যে সময়টি (মিলিসেকেন্ডে) পূর্বে পাঠানো বার্তাটি বিতরণ করার আগে বিলম্বিত হবে বলে আশা করা হচ্ছে৷
[in] delayedNodeId
পিয়ার নোডের নোড আইডেন্টিফায়ার যার কাছে মেসেজ ডেলিভারি বিলম্বিত হবে।
রিটার্ন মান
WEAVE_ERROR_INVALID_ARGUMENT
যদি এই SendMessage API-এ একটি অবৈধ আর্গুমেন্ট পাস করা হয়।
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
যদি নির্দিষ্ট প্রেরণ অপারেশন এবং ওয়েভ মেসেজ প্রোটোকল সংস্করণে কোনো অমিল থাকে যা সমর্থিত। উদাহরণস্বরূপ, এই ত্রুটিটি তৈরি হবে যদি উইভ নির্ভরযোগ্য মেসেজিং শব্দার্থবিদ্যার চেষ্টা করা হয় যখন ওয়েভ বার্তা প্রোটোকল সংস্করণ V1 হয়।
WEAVE_ERROR_NOT_CONNECTED
যদি প্রসঙ্গটি একটি সংযোগের সাথে যুক্ত ছিল যা এখন বন্ধ হয়ে গেছে।
WEAVE_ERROR_INCORRECT_STATE
যদি বিনিময় প্রসঙ্গের অবস্থা ভুল হয়।
WEAVE_NO_ERROR
যদি উইভ লেয়ার সফলভাবে নেটওয়ার্ক লেয়ারে মেসেজ পাঠায়।

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

পিয়ার নোডে একটি থ্রোটল ফ্লো বার্তা পাঠান যাতে বার্তা পাঠানোর থ্রোটল করার জন্য অনুরোধ করা হয়।

বিস্তারিত
পরামিতি
[in] pauseTimeMillis
সময় (মিলিসেকেন্ডে) যেটি প্রাপক তার প্রেরণকে থ্রোটল করবে বলে আশা করা হচ্ছে৷
রিটার্ন মান
WEAVE_ERROR_INVALID_ARGUMENT
যদি এই SendMessage API-এ একটি অবৈধ আর্গুমেন্ট পাস করা হয়।
WEAVE_ERROR_SEND_THROTTLED
যদি উইভ নির্ভরযোগ্য মেসেজিং প্রোটোকল ব্যবহার করার সময় এই বিনিময় প্রসঙ্গটি থ্রোটল করা হয়।
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
যদি নির্দিষ্ট প্রেরণ অপারেশন এবং ওয়েভ মেসেজ প্রোটোকল সংস্করণে কোনো অমিল থাকে যা সমর্থিত। উদাহরণস্বরূপ, এই ত্রুটিটি তৈরি হবে যদি উইভ নির্ভরযোগ্য মেসেজিং শব্দার্থবিদ্যার চেষ্টা করা হয় যখন ওয়েভ বার্তা প্রোটোকল সংস্করণ V1 হয়।
WEAVE_ERROR_NOT_CONNECTED
যদি প্রসঙ্গটি একটি সংযোগের সাথে যুক্ত ছিল যা এখন বন্ধ রয়েছে।
WEAVE_ERROR_INCORRECT_STATE
যদি বিনিময় প্রেক্ষাপটের অবস্থা ভুল হয়।
WEAVE_NO_ERROR
যদি উইভ লেয়ার সফলভাবে নেটওয়ার্ক লেয়ারে মেসেজ পাঠায়।