nl:: বুনা:: বাঁধাই

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

একটি ওয়েভ যোগাযোগ এবং সংশ্লিষ্ট কনফিগারেশন তথ্যের উদ্দেশ্য লক্ষ্য ক্যাপচার করে।

সারসংক্ষেপ

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

কনফিগারেশন

অ্যাপ্লিকেশানগুলিকে অবশ্যই পছন্দসই যোগাযোগের চ্যানেলের ধরণের নির্দিষ্ট পরামিতি সহ একটি বাঁধাই কনফিগার করতে হবে৷ বাইন্ডিংগুলি বিভিন্ন নেটওয়ার্ক পরিবহনের জন্য সমর্থন প্রদান করে, যার মধ্যে রয়েছে TCP, UDP, UDP উইথ উইভ রিলায়েবল মেসেজিং এবং ওয়েভ ওভার BLE (WoBLE)। অ্যাপ্লিকেশনগুলি পক্ষগুলির মধ্যে প্রেরিত বার্তাগুলিকে সুরক্ষিত করতে নির্দিষ্ট সুরক্ষা ব্যবস্থা ব্যবহারের অনুরোধও করতে পারে। এর মধ্যে রয়েছে CASE এবং PASE সেশন এবং অ্যাপ্লিকেশন গ্রুপ কী। একটি বাইন্ডিং কনফিগার করার জন্য ইন্টারফেস একটি ঘোষণামূলক API শৈলী ব্যবহার করে যা অ্যাপ্লিকেশনগুলিকে সহজ শর্তে যোগাযোগের জন্য তাদের প্রয়োজনীয়তাগুলি বর্ণনা করতে দেয়।

আরও বিশদ বিবরণের জন্য বাইন্ডিং::কনফিগারেশনের ডকুমেন্টেশন দেখুন।

প্রস্তুতি

যোগাযোগের আগে, একটি বাঁধাই "প্রস্তুত" হতে হবে। একটি বাইন্ডিং প্রস্তুত করার কাজটি যোগাযোগের জন্য প্রয়োজনীয় রাষ্ট্র প্রতিষ্ঠা করে। এর মধ্যে বিষয়গুলি অন্তর্ভুক্ত থাকতে পারে যেমন: পিয়ারের নেটওয়ার্ক ঠিকানা সমাধান করা, একটি নেটওয়ার্ক সংযোগ স্থাপন করা এবং নিরাপত্তা কী নিয়ে আলোচনা করা। একবার অ্যাপ্লিকেশন দ্বারা কনফিগার করা হলে, বাইন্ডিং যোগাযোগের জন্য প্রস্তুত করার জন্য প্রয়োজনীয় সমস্ত পদক্ষেপের যত্ন নেয়, প্রক্রিয়াটি সম্পূর্ণ হলে অ্যাপ্লিকেশনটিতে আবার কল করা। এইভাবে, বাইন্ডিংগুলি যোগাযোগের মেকানিক্সকে আড়াল করে, অ্যাপ্লিকেশনগুলিকে উচ্চ-স্তরের মিথস্ক্রিয়াগুলিতে মনোনিবেশ করার অনুমতি দেয়।

যোগাযোগ

একবার একটি বাঁধাই প্রস্তুত করা হলে এটি ব্যবহারের জন্য প্রস্তুত হয়ে যায়। এই অবস্থায়, অ্যাপ্লিকেশনগুলি (বা আরও সাধারণভাবে, একটি অ্যাপ্লিকেশনের পক্ষে কাজ করে প্রোটোকল লেয়ার কোড) একটি উইভ এক্সচেঞ্জ প্রসঙ্গ বরাদ্দ করার জন্য বাইন্ডিংকে অনুরোধ করে। ফলস্বরূপ বিনিময় প্রসঙ্গ যোগাযোগের জন্য পূর্ব-কনফিগার করা হয়, যা অ্যাপ্লিকেশনটিকে অবিলম্বে পিয়ারের সাথে একটি ওয়েভ এক্সচেঞ্জ শুরু করার অনুমতি দেয়। বাইন্ডিং বন্ধ না হওয়া পর্যন্ত অ্যাপ্লিকেশনটি বাইন্ডিং থেকে এক্সচেঞ্জ প্রেক্ষাপটের জন্য অনুরোধ করা চালিয়ে যেতে পারে, বা কিছু ঘটনা, যেমন, একটি নেটওয়ার্ক ব্যর্থতা, অন্তর্নিহিত যোগাযোগ চ্যানেলটি বন্ধ করে দেয়।

বাঁধাই রাষ্ট্র পরিবর্তন

এটির ব্যবহার চলাকালীন, একটি বাইন্ডিং এপিআই ইভেন্টগুলিকে অ্যাপ্লিকেশানকে বাইন্ডিং এর অবস্থার পরিবর্তন সম্পর্কে অবহিত করবে। উদাহরণস্বরূপ, প্রস্তুতি সফল হলে, অ্যাপ্লিকেশনটি একটি ইভেন্ট পাবে যা এটিকে জানিয়ে দেবে যে বাইন্ডিং ব্যবহারের জন্য প্রস্তুত। একইভাবে, যদি অন্তর্নিহিত যোগাযোগের চ্যানেল ব্যর্থ হয়, তাহলে একটি ইভেন্ট অ্যাপ্লিকেশনে বিতরণ করা হয় যাতে এটি জানানো হয় যে বাঁধাই আর প্রস্তুত অবস্থায় নেই।

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

আজীবন বাঁধাই

বাইন্ডিং একাধিক সফ্টওয়্যার উপাদান জুড়ে শেয়ার্ড ব্যবহারের অনুমতি দেওয়ার জন্য রেফারেন্স গণনা করা হয়। যখন একটি বাইন্ডিং বরাদ্দ করা হয়, তখন বাইন্ডিংয়ের একটি একক রেফারেন্স তৈরি করা হয়। অ্যাপ্লিকেশনটি ভবিষ্যতে কোনো সময়ে এই রেফারেন্সটি প্রকাশ করার জন্য দায়ী যাতে বাইন্ডিং পরবর্তী পুনঃব্যবহারের জন্য বিনামূল্যে হয়।

যখন একটি অ্যাপ্লিকেশন একটি বাইন্ডিং এর সাথে সম্পন্ন করা হয় তখন এটি বাইন্ডিং-এ Close() কল করতে পারে। এটি বাইন্ডিং- এ অ্যাপ্লিকেশনের রেফারেন্স প্রকাশ করে এবং API ইভেন্টগুলির আরও সমস্ত বিতরণকে ব্লক করে। যখন একটি বাইন্ডিংয়ের শেষ রেফারেন্স প্রকাশিত হয়, তখন এটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়।

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

@23 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
EventCallback )(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventType {
kEvent_ConnectionEstablished = 1,
kEvent_BindingReady = 2,
kEvent_PrepareFailed = 3,
kEvent_BindingFailed = 4,
kEvent_PrepareRequested = 5,
kEvent_PASEParametersRequested = 6,
kEvent_TAKEParametersRequested = 7,
kEvent_DefaultCheck = 100
}
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
বৈশিষ্ট্য
kEvent_BindingFailed

বাইন্ডিং ব্যর্থ হয়েছে এবং পিয়ারের সাথে যোগাযোগ করতে আর ব্যবহার করা যাবে না।

kEvent_BindingReady

বাইন্ডিং এর প্রস্তুতি ক্রিয়া সফল হয়েছে এবং বাইন্ডিং এখন পিয়ারের সাথে যোগাযোগ করতে ব্যবহার করা যেতে পারে।

kEvent_ConnectionEstablished

অনুরোধ করা ওয়েভ সংযোগ স্থাপন করা হয়েছে।

kEvent_DefaultCheck

অ্যাপ্লিকেশনে সঠিক ডিফল্ট ইভেন্ট হ্যান্ডলিং যাচাই করতে ব্যবহৃত হয়।

kEvent_PASEParametersRequested

আবেদনটি PASE সেশন প্রতিষ্ঠার সময় ব্যবহার করার পরামিতি সরবরাহ করার জন্য অনুরোধ করা হয়েছে।

kEvent_PrepareFailed

বাইন্ডিংয়ের প্রস্তুতির কাজ ব্যর্থ হয়েছে৷

kEvent_PrepareRequested

নেটওয়ার্ক স্ট্যাক দ্বারা ব্যবহারের জন্য বাইন্ডিং কনফিগার এবং প্রস্তুত করার জন্য অ্যাপ্লিকেশনটিকে অনুরোধ করা হয়েছে।

kEvent_TAKEParametersRequested

আবেদনটি TAKE সেশন প্রতিষ্ঠার সময় ব্যবহার করার পরামিতি সরবরাহ করার জন্য অনুরোধ করা হয়েছে।

অবস্থা

 State

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

অ্যাপস্টেট

void * AppState

পাবলিক ফাংশন

AddRef

void AddRef(
  void
)

বাঁধাই বস্তুর একটি রেফারেন্স সংরক্ষণ করুন.

রেসপন্স টাইমআউট সামঞ্জস্য করুন

WEAVE_ERROR AdjustResponseTimeout(
  ExchangeContext *apExchangeContext
) const 

প্রতিক্রিয়া সময়সীমা সামঞ্জস্য করতে একটি বিদ্যমান এক্সচেঞ্জ প্রসঙ্গ পুনরায় কনফিগার করুন৷

বিস্তারিত
পরামিতি
[in] apExchangeContext
একটি এক্সচেঞ্জ কনটেক্সট অবজেক্টের একটি পয়েন্টার যা পুনরায় কনফিগার করা হবে

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-তে ওভারফ্লো হবে না।

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

বিস্তারিত
পরামিতি
[in] msgBuf
প্যাকেটবাফারের একটি পয়েন্টার যেখানে বার্তা পেলোড লেখা হবে।
রিটার্নস
সর্বাধিক ওয়েভ পেলোডের আকার।

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

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

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

GetPeerIPAddress

void GetPeerIPAddress(
  nl::Inet::IPAddress & address,
  uint16_t & port,
  InterfaceId & interfaceId
) const 

পিয়ারের জন্য IP ঠিকানা তথ্য পুনরুদ্ধার করুন, যদি উপলব্ধ হয়।

পিয়ারের IP ঠিকানা তথ্যের প্রাপ্যতা বাইন্ডিংয়ের অবস্থা এবং কনফিগারেশনের উপর নির্ভর করে। IP ঠিকানা তথ্য শুধুমাত্র একটি IP-ভিত্তিক পরিবহন ব্যবহার করার সময় উপলব্ধ (TCP, UDP, বা WRMP সহ UDP)। প্রস্তুতি শুরুর আগে, ঠিকানার তথ্য শুধুমাত্র তখনই পাওয়া যায় যদি এটি কনফিগারেশনের সময় অ্যাপ্লিকেশন দ্বারা স্পষ্টভাবে সেট করা থাকে। প্রস্তুতি পর্বের সময়, ঠিকানা প্রস্তুতি সম্পন্ন হলে ঠিকানার তথ্য পাওয়া যায় (যেমন DNS রেজোলিউশন সম্পন্ন হওয়ার পরে)। বাইন্ডিং প্রস্তুত হওয়ার পরে, বাইন্ডিং রিসেট না হওয়া পর্যন্ত ঠিকানা তথ্য উপলব্ধ থাকে।

বিস্তারিত
পরামিতি
[out] address
একটি আইপিএড্রেস অবজেক্টের একটি রেফারেন্স যা পিয়ারের আইপি অ্যাড্রেস পাবে। যদি পিয়ারের আইপি ঠিকানার তথ্য অনুপলব্ধ হয়, তাহলে এই মানটি IPAddress::Any- তে সেট করা হবে।
[out] port
একটি পূর্ণসংখ্যার একটি রেফারেন্স যা পিয়ারের পোর্ট নম্বর পাবে। যদি পিয়ারের আইপি ঠিকানা তথ্য অনুপলব্ধ হয়, এই মানটি অনির্ধারিত।
[out] interfaceId
একটি পূর্ণসংখ্যার একটি রেফারেন্স যা নেটওয়ার্ক ইন্টারফেসের আইডি পাবে যার মাধ্যমে পিয়ারে পৌঁছানো যেতে পারে। যদি পিয়ারের আইপি ঠিকানা তথ্য অনুপলব্ধ হয়, এই মানটি অনির্ধারিত।

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-এর মতো প্রোটোকলগুলিতে ব্যবহার করার উদ্দেশ্যে যেখানে সহকর্মীরা নোড থেকে পিয়ারে প্রাথমিক বিনিময়ের পরে স্বতঃস্ফূর্তভাবে স্থানীয় নোডে ফেরত বিনিময় শুরু করতে পারে। এই ধরনের ক্ষেত্রে, পদ্ধতিটি স্থানীয় নোডকে নিশ্চিত করতে দেয় যে আগত অযাচিত বার্তাটি সংশ্লিষ্ট পিয়ার দ্বারা পাঠানো হয়েছিল। (অবশ্যই, বার্তা এনক্রিপশন ব্যবহার না করে কনফিগার করা বাইন্ডিংয়ের জন্য, এই দাবিটি নিরাপত্তার দৃষ্টিকোণ থেকে কোন মূল্য প্রদান করে না। এটি শুধুমাত্র নিশ্চিত করে যে প্রেরকের নোড আইডি এবং পরিবহনের ধরন মিলছে।)

মনে রাখবেন যে বাইন্ডিং রেডি অবস্থায় না থাকলে, এই পদ্ধতিটি সর্বদা মিথ্যা হয়ে যাবে।

বিস্তারিত
পরামিতি
[in] msgInfo
আগত বার্তার জন্য বুনা বার্তা তথ্য।
রিটার্নস
সত্য যদি বার্তাটি পিয়ার থেকে প্রামাণিকভাবে হয়।

কানেকশন ট্রান্সপোর্ট

bool IsConnectionTransport() const 

প্রস্তুতি নিচ্ছে

bool IsPreparing(
  void
) const 

বিস্তারিত
রিটার্নস
বাইন্ডিং বর্তমানে প্রস্তুত করা হলে সত্য।

তৈরি

bool IsReady(
  void
) const 

বিস্তারিত
রিটার্নস
বাইন্ডিং প্রস্তুত অবস্থায় থাকলে সত্য।

আইএসইউডিপিট্রান্সপোর্ট

bool IsUDPTransport() const 

অবিশ্বাস্য ইউডিপিটি পরিবহন

bool IsUnreliableUDPTransport() const 

আইএসডব্লিউআরএমট্রান্সপোর্ট

bool IsWRMTransport() const 

নতুন এক্সচেঞ্জ প্রসঙ্গ

WEAVE_ERROR NewExchangeContext(
  ExchangeContext *& appExchangeContext
)

পিয়ারের সাথে যোগাযোগের জন্য একটি নতুন এক্সচেঞ্জ প্রসঙ্গ বরাদ্দ করুন যা বাঁধাইয়ের লক্ষ্য।

বিস্তারিত
পরামিতি
[out] appExchangeContext
একটি পয়েন্টারের একটি রেফারেন্স যা নতুন বরাদ্দ করা এক্সচেঞ্জ কনটেক্সট অবজেক্ট পাবে। পদ্ধতিটি ব্যর্থ হলে পয়েন্টারটি NULL এ সেট করা হবে।
রিটার্ন মান
WEAVE_NO_ERROR
যদি বিনিময় প্রসঙ্গ সফলভাবে বরাদ্দ করা হয়.
WEAVE_ERROR_NO_MEMORY
বিনিময় প্রসঙ্গ বরাদ্দ করার জন্য কোন মেমরি উপলব্ধ ছিল না.
WEAVE_ERROR_INCORRECT_STATE
যদি বাঁধাই রেডি অবস্থায় না থাকে।
other
বাইন্ডিং কনফিগারেশনের উপর ভিত্তি করে এক্সচেঞ্জ কনটেক্সট কনফিগার করার সাথে সম্পর্কিত অন্যান্য ত্রুটি।

মুক্তি

void Release(
  void
)

বাইন্ডিং অবজেক্টের একটি রেফারেন্স প্রকাশ করুন।

বাইন্ডিং অবজেক্টের আর কোন রেফারেন্স না থাকলে, বাঁধাই বন্ধ এবং মুক্ত করা হয়।

অনুরোধ প্রস্তুত করুন

WEAVE_ERROR RequestPrepare()

বাইন্ডিং কনফিগার এবং প্রস্তুত করার জন্য অ্যাপ্লিকেশনটিকে অনুরোধ করুন।

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

এই পদ্ধতিটি শুধুমাত্র NotConfigured বা ব্যর্থ অবস্থায় বাইন্ডিং এ কল করা যেতে পারে।

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

রিসেট

void Reset(
  void
)

একটি আনকনফিগার অবস্থায় বাইন্ডিং পুনরায় সেট করুন।

যখন রিসেট() কল করা হয়, তখন বাইন্ডিংয়ের জন্য যে কোনো অগ্রগতি প্রস্তুতিমূলক কাজ বাতিল করা হয় এবং বাইন্ডিং দ্বারা ধারণ করা সমস্ত বাহ্যিক যোগাযোগের সংস্থানগুলি ছেড়ে দেওয়া হয়। Reset() বাইন্ডিংটিকে আনকনফিগার করা অবস্থায় রাখে, তারপরে এটি কনফিগার করা এবং আবার প্রস্তুত করা হতে পারে।

Reset() বাঁধাইয়ের রেফারেন্স গণনা পরিবর্তন করে না।

সেট ডিফল্ট রেসপন্স টাইমআউট

void SetDefaultResponseTimeout(
  uint32_t msec
)

পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট বিনিময় প্রতিক্রিয়া সময়সীমা সেট করুন।

বিস্তারিত
পরামিতি
[in] timeout
ms-এ নতুন প্রতিক্রিয়ার সময়সীমা।

সেটডিফল্টডব্লিউআরএমপিকনফিগ

void SetDefaultWRMPConfig(
  const WRMPConfig & wrmpConfig
)

পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট WRMP কনফিগারেশন সেট করুন।

বিস্তারিত
পরামিতি
[in] aWRMPConfig
নতুন ডিফল্ট কনফিগারেশন ধারণকারী একটি WRMPConfig কাঠামোর একটি রেফারেন্স।

সেট ইভেন্ট কলব্যাক

void SetEventCallback(
  EventCallback aEventCallback
)

বাইন্ডিংয়ের জন্য একটি API ইভেন্ট ঘটলে কল করার জন্য অ্যাপ্লিকেশন-সংজ্ঞায়িত ফাংশন সেট করুন।

বিস্তারিত
পরামিতি
[in] aEventCallback
কলব্যাক ফাংশন একটি পয়েন্টার.

প্রোটোকল লেয়ার কলব্যাক সেট করুন

void SetProtocolLayerCallback(
  EventCallback callback,
  void *state
)

একটি অ্যাপ্লিকেশনের পক্ষে বাইন্ডিং ব্যবহার করে প্রোটোকল স্তর কোডের জন্য একটি ইভেন্ট কলব্যাক ফাংশন সেট করুন৷

যখন বাইন্ডিংয়ের জন্য API ইভেন্টগুলি ঘটে তখন এই ফাংশনটিকে অ্যাপ্লিকেশন-সংজ্ঞায়িত কলব্যাক ফাংশন ছাড়াও কল করা হবে।

বিস্তারিত
পরামিতি
[in] callback
কলব্যাক ফাংশন একটি পয়েন্টার.
[in] state
একটি স্টেট অবজেক্টের একটি পয়েন্টার যা প্রোটোকল লেয়ার কোডে সরবরাহ করা হবে যখন একটি প্রোটোকল লেয়ার কলব্যাক ঘটে।

পাবলিক স্ট্যাটিক ফাংশন

ডিফল্ট ইভেন্টহ্যান্ডলার

void DefaultEventHandler(
  void *apAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

বাইন্ডিং API ইভেন্টের জন্য ডিফল্ট হ্যান্ডলার।

কোনো API ইভেন্টের জন্য এই পদ্ধতিতে কল করার জন্য অ্যাপ্লিকেশনের প্রয়োজন হয় যা তারা চিনতে পারে না বা পরিচালনা করে না। সরবরাহকৃত পরামিতিগুলি অবশ্যই অ্যাপ্লিকেশনের ইভেন্ট হ্যান্ডলার ফাংশনের সাথে বাইন্ডিং দ্বারা পাস করা প্যারামিটারগুলির মতোই হতে হবে৷

বিস্তারিত
পরামিতি
[in] apAppState
বাইন্ডিং এর সাথে যুক্ত অ্যাপ্লিকেশান-সংজ্ঞায়িত রাষ্ট্র তথ্যের একটি পয়েন্টার।
[in] aEvent
ইভেন্ট কলব্যাকের মাধ্যমে ইভেন্ট আইডি পাস করা হয়েছে
[in] aInParam
ইভেন্ট কলব্যাক দ্বারা পাস করা ইনপুট ইভেন্ট প্যারামিটারের রেফারেন্স
[in] aOutParam
ইভেন্ট কলব্যাক দ্বারা পাস করা আউটপুট ইভেন্ট প্যারামিটারের রেফারেন্স