Google is committed to advancing racial equity for Black communities. See how.

এনএল :: তাঁত :: বাঁধাই

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

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

সারসংক্ষেপ

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

কনফিগারেশন

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

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

প্রস্তুতি

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

যোগাযোগ

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

বাঁধাই রাজ্য পরিবর্তনসমূহ

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

এপিআই ঘটনা সরবরাহকৃত যখন একটি ইভেন্ট কলব্যাক ফাংশন মাধ্যমে আবেদন বিতরণ করা হয় বাঁধাই বরাদ্দ করা হয়।

বাঁধাই লাইফটাইম

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

একটি অ্যাপ্লিকেশন একটি সঙ্গে সম্পন্ন করা হলে বাঁধাই এটা কল করতে পারেন বন্ধ () বাঁধাই করে। এই আবেদন এর রেফারেন্স প্রকাশ বাঁধাই এপিআই ঘটনা সব আরও ডেলিভারি এবং ব্লক। যখন একটি গত রেফারেন্স বাঁধাই মুক্তি হয়, এটি স্বয়ংক্রিয়ভাবে বন্ধ করা হয়।

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

@23 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
এনাম
EventCallback )(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) টাইপডেফ
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
}
এনাম
State এনাম

জনসাধারণের গুণাবলী

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 &
পিয়ারের সাথে যোগাযোগ করার সময় ডিফল্ট ডাব্লুআরএমপি কনফিগারেশনটি ব্যবহার করুন।
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
পিয়ারের আইপি ঠিকানার তথ্য উপলব্ধ থাকলে পুনরুদ্ধার করুন।
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
পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করতে ডিফল্ট ডাব্লুআরএমপি কনফিগারেশন সেট করুন।
SetEventCallback (EventCallback aEventCallback)
void
অ্যাপ্লিকেশন-সংজ্ঞায়িত কার্যকারিতা একটি API ইভেন্টের জন্য ঘটে যখন বলা হবে সেট করুন বাঁধাই
SetProtocolLayerCallback (EventCallback callback, void *state)
void
ব্যবহার প্রোটোকল স্তর কোড জন্য একটি ইভেন্ট কলব্যাক ফাংশন সেট বাঁধাই একটি অ্যাপ্লিকেশন পক্ষে।

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

DefaultEventHandler (void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void
বাঁধার এপিআই ইভেন্টগুলির জন্য ডিফল্ট হ্যান্ডলার।

ক্লাস

nl এর :: বুনা :: বাঁধাই :: কনফিগারেশন

কনফিগার করার এবং প্রস্তুতির জন্য একটি ঘোষণামূলক-শৈলী ইন্টারফেস প্রদান করে বাঁধাই অবজেক্ট।

স্ট্রাক্টস

nl এর :: বুনা :: বাঁধাই :: InEventParam

একটি ইনপুট প্যারামিটার বাঁধাই এপিআই ইভেন্ট।

nl এর :: বুনা :: বাঁধাই :: OutEventParam

একটি আউটপুট পরামিতি বাঁধাই এপিআই ইভেন্ট।

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

@ 23

 @23
সম্পত্তি
kGetPeerDescription_MaxLength

সর্বোচ্চ (NUL চরিত্র সহ) স্ট্রিং এর দৈর্ঘ্য দ্বারা ফিরে GetPeerDescription ()

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

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

ইভেন্টের ধরণ

 EventType
সম্পত্তি
kEvent_BindingFailed

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

kEvent_BindingReady

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

kEvent_ConnectionEstablished

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

kEvent_DefaultCheck

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

kEvent_PASEParametersRequested

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

kEvent_PrepareFailed

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

kEvent_PrepareRequested

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

kEvent_TAKEParametersRequested

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

রাষ্ট্র

 State

জনসাধারণের গুণাবলী

অ্যাপস্টেট

void * AppState

পাবলিক ফাংশন

অ্যাডরেফ

void AddRef(
  void
)

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

অ্যাডজাস্টার রিসপোনসটাইমআউট

WEAVE_ERROR AdjustResponseTimeout(
  ExchangeContext *apExchangeContext
) const 

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

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

বরাদ্দ রাইটসাইজড বাফার

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
)

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

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

কলিং বন্ধ () decrements সঙ্গে যুক্ত রেফারেন্স গণনা বাঁধাই, বস্তুর freeing যদি রেফারেন্স গণনা শূন্য হয়ে যায়।

গেট কানেকশন

WeaveConnection * GetConnection() const 

বাইন্ডিংয়ের সাথে যুক্ত ওয়েভ সংযোগ অবজেক্টটি পান।

বিশদ
ফিরে আসে
একটি একটি পয়েন্টার WeaveConnection বস্তু, বা শূন্য যদি বাঁধাই সঙ্গে যুক্ত কোন সংযোগ নেই।

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

uint32_t GetDefaultResponseTimeout() const 

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

বিশদ
ফিরে আসে
এমএসে প্রতিক্রিয়া টাইমআউট।

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

const WRMPConfig & GetDefaultWRMPConfig(
  void
) const 

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

বিশদ
ফিরে আসে
একটি একটি রেফারেন্স WRMPConfig ডিফল্ট কনফিগারেশন মানগুলি রয়েছে কাঠামো।

GetEncryptionType

uint8_t GetEncryptionType(
  void
) const 

পিয়ার থেকে / থেকে বার্তাগুলি এনক্রিপ্ট করার সময় ব্যবহৃত বার্তা এনক্রিপশন প্রকারটি পুনরুদ্ধার করুন।

GetEventCallback

EventCallback GetEventCallback() const 

ফাংশন যা একটি API ইভেন্টের জন্য ঘটে যখন বলা হবে পান বাঁধাই

বিশদ
ফিরে আসে
কলব্যাক ফাংশনের একটি পয়েন্টার।

গেটএ এক্সচেঞ্জম্যানেজার

WeaveExchangeManager * GetExchangeManager() const 

গেটকি আইড

uint32_t GetKeyId(
  void
) const 

পিয়ার থেকে / থেকে বার্তাগুলি এনক্রিপ্ট করার সময় ব্যবহার করা বার্তা এনক্রিপশন কীটির আইডি পুনরুদ্ধার করুন।

গেটলগআইডি

uint16_t GetLogId(
  void
) const 

বাইন্ডিংয়ের জন্য একটি অনন্য আইডি পান।

GetMaxWeavePayloadSize ize

uint32_t GetMaxWeavePayloadSize(
  const System::PacketBuffer *msgBuf
)

সরবরাহিত প্যাকেটবফারের অভ্যন্তরে সর্বাধিক ওয়েভ পেওলড আকার মাপসই পান।

ডাব্লুআরএম সহ ইউডিপি সহ ইউডিপি-র জন্য, সর্বোচ্চ পে-লোডের আকার ফিরে আসবে তা নিশ্চিত করবে ফলাফলযুক্ত ওয়েভ বার্তাটি কনফিগার করা ইউডিপি এমটিইউকে উপচে ফেলবে না।

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

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

গেটপিয়ারডেস্ক্রিপশন

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

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

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

গেটপিরিপ অ্যাড্রেস

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

পিয়ারের আইপি ঠিকানার তথ্য উপলব্ধ থাকলে পুনরুদ্ধার করুন।

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

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

গেটপিয়ারনোডআইডি

uint64_t GetPeerNodeId(
  void
) const 

বাইন্ডিং পিয়ারের নোড আইডিটি পুনরুদ্ধার করুন।

বাঁধাই করা বস্তুটি প্রস্তুত হয়ে গেলে কেবল বৈধ।

বিশদ
ফিরে আসে
পিয়ারের নোড আইডি বুনুন

গেটপ্রোটোকল লাইয়ারক্যালব্যাক

void GetProtocolLayerCallback(
  EventCallback & callback,
  void *& state
) const 

গেটস্টেট

State GetState(
  void
) const 

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

বিশদ
ফিরে আসে
বাধ্যতামূলক অবস্থা।

#AuthenticMessageFromPeer

bool IsAuthenticMessageFromPeer(
  const WeaveMessageInfo *msgInfo
)

নির্দিষ্ট আগত বার্তাটি কনফিগার করা পিয়ারের থেকে এবং যথাযথভাবে প্রমাণীকরণ করা হয়েছে কিনা তা নির্ধারণ করুন।

এই পদ্ধতিটি প্রদত্ত বার্তা সম্পর্কে নিম্নোক্ত বিশদটি নিশ্চিত করে:

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

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

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

বিশদ
পরামিতি
[in] msgInfo
আগত বার্তার জন্য ওয়েভ বার্তা তথ্য।
ফিরে আসে
সত্য যদি বার্তাটি পিয়ারের কাছ থেকে প্রমাণযোগ্যভাবে আসে।

#ConnicationTransport

bool IsConnectionTransport() const 

ইসপ্রিপারিং

bool IsPreparing(
  void
) const 

বিশদ
ফিরে আসে
যদি সত্য হয় বাঁধাই বর্তমানে প্রস্তুত করা হচ্ছে।

তৈরি

bool IsReady(
  void
) const 

বিশদ
ফিরে আসে
যদি সত্য হয় বাঁধাই রেডি অবস্থায় রয়েছে।

ইসুডিপিটি ট্রান্সপোর্ট

bool IsUDPTransport() const 

#UrereliableUDPTransport

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) অনুরোধ এটি কনফিগার এবং ব্যবহারের জন্য বাঁধাই প্রস্তুত করতে একটি ইভেন্ট ট্রিগার।

এই পদ্ধতিটি কেবল নন-কনফিগার্ড বা ব্যর্থ রাষ্ট্রগুলিতে বাইন্ডিংগুলিতে কল করা যেতে পারে।

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

রিসেট

void Reset(
  void
)

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

যখন রিসেট () বলা হয়, কোনো ইন-অগ্রগতির বাঁধাই বাতিল করা হয়েছে এবং সব বহিরাগত যোগাযোগ উত্স দ্বারা বাঁধাই মুক্তি পাচ্ছে অনুষ্ঠিত হয় ক্রিয়া প্রস্তুত। রিসেট () অনির্দিষ্ট গঠনতন্ত্রের রাষ্ট্র, যার পরে কনফিগার এবং প্রস্তুত থাকতে পারি আবার বাঁধাই স্থাপন করা হয়।

রিসেট করুন () বাঁধাই এর রেফারেন্স গণনা পরিবর্তন নেই।

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

void SetDefaultResponseTimeout(
  uint32_t msec
)

পিয়ারের সাথে যোগাযোগ করার সময় ব্যবহার করার জন্য ডিফল্ট এক্সচেঞ্জ প্রতিক্রিয়া টাইমআউট সেট করুন।

বিশদ
পরামিতি
[in] timeout
এমএসে নতুন প্রতিক্রিয়া টাইমআউট।

সেটডাফল্টআরআরএমপিসিফিগ

void SetDefaultWRMPConfig(
  const WRMPConfig & wrmpConfig
)

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

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

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

void SetEventCallback(
  EventCallback aEventCallback
)

অ্যাপ্লিকেশন-সংজ্ঞায়িত কার্যকারিতা একটি API ইভেন্টের জন্য ঘটে যখন বলা হবে সেট করুন বাঁধাই

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

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

void SetProtocolLayerCallback(
  EventCallback callback,
  void *state
)

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

এই ফাংশনটি আবেদন-সংজ্ঞায়িত কলব্যাক ফাংশন ছাড়াও ডাকা হবে যখন এপিআই ইভেন্টের জন্য ঘটতে বাঁধাই

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

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

DefaultEventHandler

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

বাঁধার এপিআই ইভেন্টগুলির জন্য ডিফল্ট হ্যান্ডলার।

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

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