nl:: বুনা:: বাঁধাই
#include <src/lib/core/WeaveBinding.h>
একটি ওয়েভ যোগাযোগ এবং সংশ্লিষ্ট কনফিগারেশন তথ্যের উদ্দেশ্য লক্ষ্য ক্যাপচার করে।
সারাংশ
একটি বাইন্ডিং অবজেক্ট একটি ওয়েভ কমিউনিকেশনের ("পিয়ার" নামেও পরিচিত) উদ্দিষ্ট টার্গেটকে চিহ্নিত করে, সাথে কনফিগারেশন প্যারামিটারের একটি সেট সহ বর্ণনা করে যে পিয়ারের সাথে কীভাবে যোগাযোগ করা উচিত। বাইন্ডিং দুটি পক্ষের মধ্যে কথিত অ্যাপ্লিকেশন প্রোটোকল থেকে স্বাধীন। যেমন, তারা একটি যোগাযোগের "কে" এবং "কিভাবে" ক্যাপচার করে, কিন্তু "কি" নয়।
অ্যাপ্লিকেশানগুলিকে অবশ্যই পছন্দসই যোগাযোগের চ্যানেলের ধরণের নির্দিষ্ট পরামিতি সহ একটি বাঁধাই কনফিগার করতে হবে৷ বাইন্ডিংগুলি বিভিন্ন নেটওয়ার্ক পরিবহনের জন্য সমর্থন প্রদান করে, যার মধ্যে রয়েছে TCP, UDP, UDP উইথ উইভ রিলায়েবল মেসেজিং এবং ওয়েভ ওভার BLE (WoBLE)। অ্যাপ্লিকেশনগুলি পক্ষগুলির মধ্যে প্রেরিত বার্তাগুলিকে সুরক্ষিত করতে নির্দিষ্ট সুরক্ষা ব্যবস্থা ব্যবহারের অনুরোধও করতে পারে৷ এর মধ্যে রয়েছে CASE এবং PASE সেশন এবং অ্যাপ্লিকেশন গ্রুপ কী। একটি বাইন্ডিং কনফিগার করার জন্য ইন্টারফেস একটি ঘোষণামূলক API শৈলী ব্যবহার করে যা অ্যাপ্লিকেশনগুলিকে সহজ শর্তে যোগাযোগের জন্য তাদের প্রয়োজনীয়তাগুলি বর্ণনা করতে দেয়।
আরও বিশদ বিবরণের জন্য বাইন্ডিং::কনফিগারেশনের ডকুমেন্টেশন দেখুন।
প্রস্তুতি
যোগাযোগের আগে, একটি বাঁধাই "প্রস্তুত" হতে হবে। একটি বাইন্ডিং প্রস্তুত করার কাজটি যোগাযোগের জন্য প্রয়োজনীয় রাষ্ট্র প্রতিষ্ঠা করে। এর মধ্যে বিষয়গুলি অন্তর্ভুক্ত থাকতে পারে যেমন: পিয়ারের নেটওয়ার্ক ঠিকানা সমাধান করা, একটি নেটওয়ার্ক সংযোগ স্থাপন করা এবং নিরাপত্তা কী নিয়ে আলোচনা করা। একবার অ্যাপ্লিকেশন দ্বারা কনফিগার করা হলে, বাইন্ডিং যোগাযোগের জন্য প্রস্তুত করার জন্য প্রয়োজনীয় সমস্ত পদক্ষেপের যত্ন নেয়, প্রক্রিয়াটি সম্পূর্ণ হলে অ্যাপ্লিকেশনটিতে আবার কল করা। এইভাবে, বাইন্ডিংগুলি যোগাযোগের মেকানিক্সকে আড়াল করে, অ্যাপ্লিকেশনগুলিকে উচ্চ-স্তরের মিথস্ক্রিয়াগুলিতে মনোনিবেশ করার অনুমতি দেয়।
যোগাযোগ
একবার একটি বাঁধাই প্রস্তুত করা হলে এটি ব্যবহারের জন্য প্রস্তুত হয়ে যায়। এই অবস্থায়, অ্যাপ্লিকেশনগুলি (বা আরও সাধারণভাবে, একটি অ্যাপ্লিকেশনের পক্ষে কাজ করে প্রোটোকল লেয়ার কোড) একটি উইভ এক্সচেঞ্জ প্রসঙ্গ বরাদ্দ করার জন্য বাইন্ডিংকে অনুরোধ করে। ফলস্বরূপ বিনিময় প্রসঙ্গ যোগাযোগের জন্য পূর্ব-কনফিগার করা হয়, যা অ্যাপ্লিকেশনটিকে অবিলম্বে পিয়ারের সাথে একটি ওয়েভ এক্সচেঞ্জ শুরু করার অনুমতি দেয়। বাইন্ডিং বন্ধ না হওয়া পর্যন্ত অ্যাপ্লিকেশনটি বাইন্ডিং থেকে এক্সচেঞ্জ প্রেক্ষাপটের জন্য অনুরোধ করা চালিয়ে যেতে পারে, বা কিছু ঘটনা, যেমন, একটি নেটওয়ার্ক ব্যর্থতা, অন্তর্নিহিত যোগাযোগ চ্যানেলটি বন্ধ করে দেয়।
বাঁধাই রাষ্ট্র পরিবর্তন
এটির ব্যবহার চলাকালীন, একটি বাইন্ডিং এপিআই ইভেন্টগুলিকে অ্যাপ্লিকেশানকে বাইন্ডিং এর অবস্থার পরিবর্তন সম্পর্কে অবহিত করবে। উদাহরণস্বরূপ, প্রস্তুতি সফল হলে, অ্যাপ্লিকেশনটি একটি ইভেন্ট পাবে যা এটিকে জানিয়ে দেবে যে বাইন্ডিং ব্যবহারের জন্য প্রস্তুত। একইভাবে, যদি অন্তর্নিহিত যোগাযোগের চ্যানেল ব্যর্থ হয়, তাহলে একটি ইভেন্ট অ্যাপ্লিকেশনে বিতরণ করা হয় যাতে এটি জানানো হয় যে বাঁধাই আর প্রস্তুত অবস্থায় নেই।
বাইন্ডিং বরাদ্দ করার সময় সরবরাহ করা একটি ইভেন্ট কলব্যাক ফাংশনের মাধ্যমে এপিআই ইভেন্টগুলি অ্যাপ্লিকেশনে বিতরণ করা হয়।
আজীবন বাঁধাই
বাইন্ডিং একাধিক সফ্টওয়্যার উপাদান জুড়ে শেয়ার্ড ব্যবহারের অনুমতি দেওয়ার জন্য রেফারেন্স গণনা করা হয়। যখন একটি বাইন্ডিং বরাদ্দ করা হয়, তখন বাইন্ডিংয়ের একটি একক রেফারেন্স তৈরি করা হয়। অ্যাপ্লিকেশনটি ভবিষ্যতে কোনো সময়ে এই রেফারেন্সটি প্রকাশ করার জন্য দায়ী যাতে বাইন্ডিং পরবর্তী পুনঃব্যবহারের জন্য বিনামূল্যে হয়।
যখন একটি অ্যাপ্লিকেশন একটি বাইন্ডিং এর সাথে সম্পন্ন করা হয় তখন এটি বাইন্ডিং-এ Close() কল করতে পারে। এটি বাইন্ডিং -এ অ্যাপ্লিকেশনের রেফারেন্স প্রকাশ করে এবং API ইভেন্টগুলির পরবর্তী সমস্ত ডেলিভারি ব্লক করে। যখন একটি বাইন্ডিংয়ের শেষ রেফারেন্স প্রকাশিত হয়, তখন এটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়।
পাবলিক প্রকার | |
---|---|
@23 { | enum |
EventCallback )(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) | typedefvoid(* |
EventType { | enum |
State | enum |
পাবলিক বৈশিষ্ট্য | |
---|---|
AppState | void * |
পাবলিক ফাংশন | |
---|---|
AddRef (void) | void বাঁধাই বস্তুর একটি রেফারেন্স সংরক্ষণ করুন. |
AdjustResponseTimeout ( ExchangeContext *apExchangeContext) const | প্রতিক্রিয়া সময়সীমা সামঞ্জস্য করতে একটি বিদ্যমান এক্সচেঞ্জ প্রসঙ্গ পুনরায় কনফিগার করুন৷ |
AllocateRightSizedBuffer (PacketBuffer *& buf, const uint32_t desiredSize, const uint32_t minSize, uint32_t & outMaxPayloadSize) | |
BeginConfiguration () | বাইন্ডিং কনফিগার করার প্রক্রিয়া হচ্ছে। |
CanBePrepared (void) const | bool |
Close (void) | void বাঁধাই বস্তুটি বন্ধ করুন এবং একটি রেফারেন্স প্রকাশ করুন। |
GetConnection () const | বাইন্ডিংয়ের সাথে যুক্ত ওয়েভ সংযোগ বস্তুটি পান। |
GetDefaultResponseTimeout () const | uint32_t পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট এক্সচেঞ্জ রেসপন্স টাইমআউট পান। |
GetDefaultWRMPConfig (void) const | const WRMPConfig & পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট WRMP কনফিগারেশন পান। |
GetEncryptionType (void) const | uint8_t পিয়ারের কাছে/থেকে বার্তাগুলি এনক্রিপ্ট করার সময় ব্যবহার করা বার্তা এনক্রিপশন প্রকার পুনরুদ্ধার করুন। |
GetEventCallback () const | EventCallback বাইন্ডিংয়ের জন্য একটি API ইভেন্ট ঘটলে কল করা হবে এমন ফাংশন পান। |
GetExchangeManager () const | |
GetKeyId (void) const | uint32_t পিয়ারের কাছে/থেকে বার্তা এনক্রিপ্ট করার সময় ব্যবহার করা বার্তা এনক্রিপশন কীটির আইডি পুনরুদ্ধার করুন। |
GetLogId (void) const | uint16_t বাঁধাই করার জন্য একটি অনন্য আইডি পান। |
GetMaxWeavePayloadSize (const System::PacketBuffer *msgBuf) | uint32_t সরবরাহকৃত প্যাকেটবাফারের ভিতরে ফিট হতে পারে এমন সর্বাধিক উইভ পেলোড আকার পান৷ |
GetPeerDescription (char *buf, uint32_t bufSize) const | void পিয়ার নোড এবং এর সংশ্লিষ্ট ঠিকানা/সংযোগের তথ্য বর্ণনা করে একটি স্ট্রিং তৈরি করে। |
GetPeerIPAddress ( nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId) const | void পিয়ারের জন্য IP ঠিকানা তথ্য পুনরুদ্ধার করুন, যদি উপলব্ধ হয়। |
GetPeerNodeId (void) const | uint64_t বাইন্ডিং পিয়ারের নোড আইডি পুনরুদ্ধার করুন। |
GetProtocolLayerCallback (EventCallback & callback, void *& state) const | void |
GetState (void) const | State বাইন্ডিংয়ের বর্তমান অবস্থা পুনরুদ্ধার করুন। |
IsAuthenticMessageFromPeer (const WeaveMessageInfo *msgInfo) | bool একটি নির্দিষ্ট ইনকামিং বার্তা কনফিগার করা পিয়ার থেকে এসেছে এবং উপযুক্তভাবে প্রমাণীকৃত কিনা তা নির্ধারণ করুন। |
IsConnectionTransport () const | bool |
IsPreparing (void) const | bool |
IsReady (void) const | bool |
IsUDPTransport () const | bool |
IsUnreliableUDPTransport () const | bool |
IsWRMTransport () const | bool |
NewExchangeContext ( ExchangeContext *& appExchangeContext) | পিয়ারের সাথে যোগাযোগের জন্য একটি নতুন এক্সচেঞ্জ প্রসঙ্গ বরাদ্দ করুন যা বাঁধাইয়ের লক্ষ্য। |
Release (void) | void বাইন্ডিং অবজেক্টের একটি রেফারেন্স প্রকাশ করুন। |
RequestPrepare () | বাইন্ডিং কনফিগার এবং প্রস্তুত করার জন্য অ্যাপ্লিকেশনটিকে অনুরোধ করুন। |
Reset (void) | void একটি আনকনফিগার অবস্থায় বাইন্ডিং পুনরায় সেট করুন। |
SetDefaultResponseTimeout (uint32_t msec) | void পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট বিনিময় প্রতিক্রিয়া সময়সীমা সেট করুন। |
SetDefaultWRMPConfig (const WRMPConfig & wrmpConfig) | void পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট WRMP কনফিগারেশন সেট করুন। |
SetEventCallback (EventCallback aEventCallback) | void বাইন্ডিংয়ের জন্য একটি API ইভেন্ট ঘটলে কল করার জন্য অ্যাপ্লিকেশন-সংজ্ঞায়িত ফাংশন সেট করুন। |
SetProtocolLayerCallback (EventCallback callback, void *state) | void একটি অ্যাপ্লিকেশনের পক্ষে বাইন্ডিং ব্যবহার করে প্রোটোকল স্তর কোডের জন্য একটি ইভেন্ট কলব্যাক ফাংশন সেট করুন৷ |
পাবলিক স্ট্যাটিক ফাংশন | |
---|---|
DefaultEventHandler (void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam) | void বাইন্ডিং API ইভেন্টের জন্য ডিফল্ট হ্যান্ডলার। |
ক্লাস | |
---|---|
nl:: ওয়েভ:: বাইন্ডিং:: কনফিগারেশন | একটি বাইন্ডিং অবজেক্ট কনফিগার এবং প্রস্তুত করার জন্য একটি ঘোষণামূলক-শৈলী ইন্টারফেস প্রদান করে। |
কাঠামো | |
---|---|
nl:: বুনন:: বাঁধাই:: InEventParam | একটি বাইন্ডিং API ইভেন্টে ইনপুট পরামিতি। |
nl:: বুনন:: বাঁধাই:: OutEventParam | একটি বাইন্ডিং API ইভেন্টে আউটপুট প্যারামিটার। |
পাবলিক প্রকার
@২৩
@23
বৈশিষ্ট্য | |
---|---|
kGetPeerDescription_MaxLength | GetPeerDescription() দ্বারা প্রত্যাবর্তিত স্ট্রিংয়ের সর্বাধিক দৈর্ঘ্য (NUL অক্ষর সহ)। |
ইভেন্ট কলব্যাক
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
ইভেন্ট টাইপ
EventType
রাজ্য
State
পাবলিক বৈশিষ্ট্য
অ্যাপস্টেট
void * AppState
পাবলিক ফাংশন
AddRef
void AddRef( void )
বাঁধাই বস্তুর একটি রেফারেন্স সংরক্ষণ করুন.
রেসপন্স টাইমআউট সামঞ্জস্য করুন
WEAVE_ERROR AdjustResponseTimeout( ExchangeContext *apExchangeContext ) const
প্রতিক্রিয়া সময়সীমা সামঞ্জস্য করতে একটি বিদ্যমান এক্সচেঞ্জ প্রসঙ্গ পুনরায় কনফিগার করুন৷
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
|
AlocateRightSizedBuffer
WEAVE_ERROR AllocateRightSizedBuffer( PacketBuffer *& buf, const uint32_t desiredSize, const uint32_t minSize, uint32_t & outMaxPayloadSize )
কনফিগারেশন শুরু করুন
Configuration BeginConfiguration()
বাইন্ডিং কনফিগার করার প্রক্রিয়া হচ্ছে।
পিয়ারের সাথে যোগাযোগের জন্য এটি প্রস্তুত করার আগে বাইন্ডিং কনফিগার করতে অ্যাপ্লিকেশনগুলিকে BeginConfiguration() কল করতে হবে।
বিস্তারিত | |
---|---|
রিটার্নস | একটি বাইন্ডিং::কনফিগারেশন অবজেক্ট যা বাইন্ডিং কনফিগার করতে ব্যবহার করা যেতে পারে। |
প্রস্তুত হতে পারে
bool CanBePrepared( void ) const
বন্ধ
void Close( void )
বাঁধাই বস্তুটি বন্ধ করুন এবং একটি রেফারেন্স প্রকাশ করুন।
যখন বলা হয়, এই পদ্ধতিটি বন্ধ অবস্থায় বাইন্ডিংকে প্রবেশ করতে দেয়। বাইন্ডিং এর জন্য যে কোন অগ্রগতি প্রস্তুতিমূলক ক্রিয়াকলাপ বাতিল করা হয় এবং বাইন্ডিং দ্বারা ধারণকৃত সমস্ত বাহ্যিক যোগাযোগ সংস্থানগুলি ছেড়ে দেওয়া হয়।
ক্লোজ () কল করা বাইন্ডিংয়ের সাথে সম্পর্কিত রেফারেন্স কাউন্টকে হ্রাস করে, যদি রেফারেন্স সংখ্যা শূন্য হয়ে যায় তবে অবজেক্টটিকে মুক্ত করে।
সংযোগ পান
WeaveConnection * GetConnection() const
বাইন্ডিংয়ের সাথে যুক্ত ওয়েভ সংযোগ বস্তুটি পান।
বিস্তারিত | |
---|---|
রিটার্নস | একটি WeaveConnection অবজেক্টের একটি পয়েন্টার, অথবা যদি বাইন্ডিংয়ের সাথে কোনো সংযোগ না থাকে তাহলে NULL। |
GetDefaultResponseTimeout
uint32_t GetDefaultResponseTimeout() const
পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট এক্সচেঞ্জ রেসপন্স টাইমআউট পান।
বিস্তারিত | |
---|---|
রিটার্নস | ms-এ প্রতিক্রিয়ার সময়সীমা। |
GetDefaultWRMPCconfig
const WRMPConfig & GetDefaultWRMPConfig( void ) const
পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট WRMP কনফিগারেশন পান।
বিস্তারিত | |
---|---|
রিটার্নস | ডিফল্ট কনফিগারেশন মান ধারণকারী একটি WRMPConfig কাঠামোর একটি রেফারেন্স। |
GetEncryptionType
uint8_t GetEncryptionType( void ) const
পিয়ারের কাছে/থেকে বার্তাগুলি এনক্রিপ্ট করার সময় ব্যবহার করা বার্তা এনক্রিপশন প্রকার পুনরুদ্ধার করুন।
GetEventCallback
EventCallback GetEventCallback() const
বাইন্ডিংয়ের জন্য একটি API ইভেন্ট ঘটলে কল করা হবে এমন ফাংশন পান।
বিস্তারিত | |
---|---|
রিটার্নস | কলব্যাক ফাংশন একটি পয়েন্টার. |
GetExchangeManager
WeaveExchangeManager * GetExchangeManager() const
GetKeyId
uint32_t GetKeyId( void ) const
পিয়ারের কাছে/থেকে বার্তা এনক্রিপ্ট করার সময় ব্যবহার করা বার্তা এনক্রিপশন কীটির আইডি পুনরুদ্ধার করুন।
GetLogId
uint16_t GetLogId( void ) const
বাঁধাই করার জন্য একটি অনন্য আইডি পান।
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const System::PacketBuffer *msgBuf )
সরবরাহকৃত প্যাকেটবাফারের ভিতরে ফিট হতে পারে এমন সর্বাধিক উইভ পেলোড আকার পান৷
UDP-এর জন্য, WRM সহ UDP সহ, সর্বাধিক পেলোডের আকার ফেরত নিশ্চিত করবে ফলে ওয়েভ বার্তা কনফিগার করা UDP MTU-তে ওভারফ্লো হবে না।
অতিরিক্তভাবে, এই পদ্ধতিটি নিশ্চিত করবে যে ওয়েভ পেলোড সরবরাহকৃত প্যাকেটবাফারকে ওভারফ্লো করবে না।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
| ||
রিটার্নস | সর্বাধিক ওয়েভ পেলোডের আকার। |
GetPeerDescription
void GetPeerDescription( char *buf, uint32_t bufSize ) const
পিয়ার নোড এবং এর সংশ্লিষ্ট ঠিকানা/সংযোগের তথ্য বর্ণনা করে একটি স্ট্রিং তৈরি করে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
GetPeerIPAddress
void GetPeerIPAddress( nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId ) const
পিয়ারের জন্য IP ঠিকানা তথ্য পুনরুদ্ধার করুন, যদি উপলব্ধ হয়।
পিয়ারের IP ঠিকানা তথ্যের প্রাপ্যতা বাইন্ডিংয়ের অবস্থা এবং কনফিগারেশনের উপর নির্ভর করে। IP ঠিকানা তথ্য শুধুমাত্র একটি IP-ভিত্তিক পরিবহন ব্যবহার করার সময় উপলব্ধ (TCP, UDP, বা WRMP সহ UDP)। প্রস্তুতি শুরুর আগে, ঠিকানার তথ্য শুধুমাত্র তখনই পাওয়া যায় যদি এটি কনফিগারেশনের সময় অ্যাপ্লিকেশন দ্বারা স্পষ্টভাবে সেট করা থাকে। প্রস্তুতি পর্বের সময়, ঠিকানা প্রস্তুতি সম্পন্ন হলে ঠিকানার তথ্য পাওয়া যায় (যেমন DNS রেজোলিউশন সম্পন্ন হওয়ার পরে)। বাইন্ডিং প্রস্তুত হওয়ার পরে, বাইন্ডিং রিসেট না হওয়া পর্যন্ত ঠিকানা তথ্য উপলব্ধ থাকে।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
GetPeerNodeId
uint64_t GetPeerNodeId( void ) const
বাইন্ডিং পিয়ারের নোড আইডি পুনরুদ্ধার করুন।
বাইন্ডিং অবজেক্ট প্রস্তুত করা হলে শুধুমাত্র বৈধ।
বিস্তারিত | |
---|---|
রিটার্নস | পিয়ারের নোড আইডি বুনন |
GetProtocolLayerCallback
void GetProtocolLayerCallback( EventCallback & callback, void *& state ) const
GetState
State GetState( void ) const
বাইন্ডিংয়ের বর্তমান অবস্থা পুনরুদ্ধার করুন।
বিস্তারিত | |
---|---|
রিটার্নস | বাঁধাই অবস্থা। |
IsAuthenticMessageFromPeer
bool IsAuthenticMessageFromPeer( const WeaveMessageInfo *msgInfo )
একটি নির্দিষ্ট ইনকামিং বার্তা কনফিগার করা পিয়ার থেকে এসেছে এবং উপযুক্তভাবে প্রমাণীকৃত কিনা তা নির্ধারণ করুন।
এই পদ্ধতিটি প্রদত্ত বার্তা সম্পর্কে নিম্নলিখিত বিবরণ নিশ্চিত করে:
- বার্তাটি বাঁধাইয়ের পিয়ার নোড থেকে উদ্ভূত হয়েছে
- বার্তাটি বাইন্ডিংয়ের মতো একই পরিবহনের উপর গৃহীত হয়েছিল। যদি একটি সংযোগের মাধ্যমে বার্তাটি গৃহীত হয়, তবে পদ্ধতিটি নিশ্চিত করে যে বার্তাটি বাইন্ডিংয়ের সাথে যুক্ত সঠিক সংযোগের মাধ্যমে গৃহীত হয়েছে।
- বার্তাটি এনক্রিপ্ট করতে ব্যবহৃত এনক্রিপশন কী এবং টাইপ বাইন্ডিং-এ কনফিগার করাগুলির সাথে মেলে। নিরাপত্তার ব্যবহার ছাড়াই কনফিগার করা বাইন্ডিংয়ের জন্য, পদ্ধতিটি নিশ্চিত করে যে আগত বার্তাটি এনক্রিপ্ট করা হয়নি।
এই পদ্ধতিটি WDM-এর মতো প্রোটোকলগুলিতে ব্যবহার করার উদ্দেশ্যে যেখানে সহকর্মীরা নোড থেকে পিয়ারে প্রাথমিক বিনিময়ের পরে স্বতঃস্ফূর্তভাবে স্থানীয় নোডে ফেরত বিনিময় শুরু করতে পারে। এই ধরনের ক্ষেত্রে, পদ্ধতিটি স্থানীয় নোডকে নিশ্চিত করতে দেয় যে আগত অযাচিত বার্তাটি সংশ্লিষ্ট পিয়ার দ্বারা পাঠানো হয়েছিল। (অবশ্যই, বার্তা এনক্রিপশন ব্যবহার না করে কনফিগার করা বাইন্ডিংয়ের জন্য, এই দাবিটি নিরাপত্তার দৃষ্টিকোণ থেকে কোন মূল্য প্রদান করে না। এটি শুধুমাত্র নিশ্চিত করে যে প্রেরকের নোড আইডি এবং পরিবহনের ধরন মিলছে।)
মনে রাখবেন যে বাইন্ডিং রেডি অবস্থায় না থাকলে, এই পদ্ধতিটি সর্বদা মিথ্যা হয়ে যাবে।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
| ||
রিটার্নস | সত্য যদি বার্তাটি পিয়ার থেকে প্রামাণিকভাবে হয়। |
কানেকশন ট্রান্সপোর্ট
bool IsConnectionTransport() const
প্রস্তুতি নিচ্ছে
bool IsPreparing( void ) const
বিস্তারিত | |
---|---|
রিটার্নস | বাইন্ডিং বর্তমানে প্রস্তুত করা হলে সত্য। |
আইএসইউডিপিট্রান্সপোর্ট
bool IsUDPTransport() const
অবিশ্বাস্য ইউডিপিটি পরিবহন
bool IsUnreliableUDPTransport() const
আইএসডব্লিউআরএমট্রান্সপোর্ট
bool IsWRMTransport() const
নতুন এক্সচেঞ্জ প্রসঙ্গ
WEAVE_ERROR NewExchangeContext( ExchangeContext *& appExchangeContext )
পিয়ারের সাথে যোগাযোগের জন্য একটি নতুন এক্সচেঞ্জ প্রসঙ্গ বরাদ্দ করুন যা বাঁধাইয়ের লক্ষ্য।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||
রিটার্ন মান |
|
মুক্তি
void Release( void )
বাইন্ডিং অবজেক্টের একটি রেফারেন্স প্রকাশ করুন।
বাইন্ডিং অবজেক্টের আর কোন রেফারেন্স না থাকলে, বাঁধাই বন্ধ এবং মুক্ত করা হয়।
অনুরোধ প্রস্তুত করুন
WEAVE_ERROR RequestPrepare()
বাইন্ডিং কনফিগার এবং প্রস্তুত করার জন্য অ্যাপ্লিকেশনটিকে অনুরোধ করুন।
প্রোটোকল লেয়ার কোড একটি বাইন্ডিং -এ এই পদ্ধতিটি ব্যবহার করতে পারে যা কনফিগার করা হয়নি, বা ব্যর্থ হয়েছে, অ্যাপ্লিকেশনে একটি ইভেন্ট ট্রিগার করতে (kEvent_PrepareRequested) অনুরোধ করে যে এটি কনফিগার করে এবং ব্যবহারের জন্য বাইন্ডিং প্রস্তুত করে।
এই পদ্ধতিটি শুধুমাত্র NotConfigured বা ব্যর্থ অবস্থায় বাইন্ডিং এ কল করা যেতে পারে।
যদি অ্যাপ্লিকেশনটি অন-ডিমান্ড কনফিগারেশন/বাইন্ডিংয়ের প্রস্তুতি সমর্থন না করে, তবে পদ্ধতিটি WEAVE_ERROR_NOT_IMPLEMENTED এর সাথে ব্যর্থ হবে।
রিসেট করুন
void Reset( void )
একটি আনকনফিগার অবস্থায় বাইন্ডিং পুনরায় সেট করুন।
যখন রিসেট() কল করা হয়, তখন বাইন্ডিংয়ের জন্য যে কোনো অগ্রগতি প্রস্তুতিমূলক কাজ বাতিল করা হয় এবং বাইন্ডিং দ্বারা ধারণ করা সমস্ত বাহ্যিক যোগাযোগের সংস্থানগুলি ছেড়ে দেওয়া হয়। Reset() বাইন্ডিংটিকে আনকনফিগার করা অবস্থায় রাখে, তারপরে এটি কনফিগার করা এবং আবার প্রস্তুত করা হতে পারে।
Reset() বাঁধাইয়ের রেফারেন্স গণনা পরিবর্তন করে না।
সেট ডিফল্ট রেসপন্স টাইমআউট
void SetDefaultResponseTimeout( uint32_t msec )
পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট বিনিময় প্রতিক্রিয়া সময়সীমা সেট করুন।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
|
সেটডিফল্টডব্লিউআরএমপিকনফিগ
void SetDefaultWRMPConfig( const WRMPConfig & wrmpConfig )
পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট WRMP কনফিগারেশন সেট করুন।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
|
সেট ইভেন্ট কলব্যাক
void SetEventCallback( EventCallback aEventCallback )
বাইন্ডিংয়ের জন্য একটি API ইভেন্ট ঘটলে কল করার জন্য অ্যাপ্লিকেশন-সংজ্ঞায়িত ফাংশন সেট করুন।
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
|
প্রোটোকল লেয়ার কলব্যাক সেট করুন
void SetProtocolLayerCallback( EventCallback callback, void *state )
একটি অ্যাপ্লিকেশনের পক্ষে বাইন্ডিং ব্যবহার করে প্রোটোকল স্তর কোডের জন্য একটি ইভেন্ট কলব্যাক ফাংশন সেট করুন৷
যখন বাইন্ডিংয়ের জন্য API ইভেন্টগুলি ঘটে তখন এই ফাংশনটিকে অ্যাপ্লিকেশন-সংজ্ঞায়িত কলব্যাক ফাংশন ছাড়াও কল করা হবে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
পাবলিক স্ট্যাটিক ফাংশন
ডিফল্ট ইভেন্টহ্যান্ডলার
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
বাইন্ডিং API ইভেন্টের জন্য ডিফল্ট হ্যান্ডলার।
কোনো API ইভেন্টের জন্য এই পদ্ধতিতে কল করার জন্য অ্যাপ্লিকেশনের প্রয়োজন হয় যা তারা চিনতে পারে না বা পরিচালনা করে না। সরবরাহকৃত পরামিতিগুলি অবশ্যই অ্যাপ্লিকেশনের ইভেন্ট হ্যান্ডলার ফাংশনের সাথে বাইন্ডিং দ্বারা পাস করা প্যারামিটারগুলির মতোই হতে হবে৷
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
|