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

এনএল :: তাঁত :: প্রোফাইল :: ডেটা ম্যানেজমেন্ট_এলজিসি :: প্রোটোকল ইঞ্জিন

এটি একটি বিমূর্ত শ্রেণি।

#include <src/lib/profiles/data-management/Legacy/ProtocolEngine.h>

ডাব্লুডিএম প্রোটোকল ইঞ্জিন শ্রেণি।

সারসংক্ষেপ

একটি ডেটা ম্যানেজমেন্ট সত্তা, ক্লায়েন্ট বা প্রকাশক, একটি প্রোটোকল ইঞ্জিন উপাদান এবং একটি ডেটা ম্যানেজার উপাদান রয়েছে। এই বিমূর্ত শ্রেণিটি প্রোটোকল ইঞ্জিনের সাধারণ বৈশিষ্ট্যগুলি উপস্থাপন করে।

উত্তরাধিকার

প্রত্যক্ষ জ্ঞাত সাবক্লাস:
  nl :: তাঁত :: প্রোফাইল :: ডেটা ম্যানেজমেন্ট_প্রেম :: :: DMClient
  এনএল :: ওয়েভ :: প্রোফাইল :: ডেটা ম্যানেজমেন্ট_এলজিসি :: ডিএমপিউব্লিশার

নির্মাণকারী এবং ধ্বংসকারী

ProtocolEngine (void)
~ProtocolEngine (void)

সুরক্ষিত গুণাবলী

mBindingTable [kBindingTableSize]
ProtocolEngine একটি বাঁধাই টেবিল যে, যদি ইঞ্জিন কেবল সম্প্রচারের বিজ্ঞপ্তিগুলি পাওয়া পরলোক কিছু জন্য দায়ী হতে যাচ্ছে, সম্ভবত অন্তত একটি এন্ট্রি ধারণ করার প্রয়োজন রয়েছে।
mExchangeMgr
mResponseTimeout
uint32_t
mTransactionTable [kTransactionTableSize]

পাবলিক ফাংশন

BindConfirm ( Binding *aBinding)
virtual WEAVE_ERROR
হ্যান্ডেল নিশ্চিতকরণ যে একটি বাইন্ড অনুরোধ সফলভাবে সম্পন্ন হয়েছে।
BindConfirm ( Binding *aBinding, StatusReport & aReport)
virtual WEAVE_ERROR
হ্যান্ডেল নিশ্চিতকরণ যে একটি বাঁধাইয়ের অনুরোধ ব্যর্থ হয়েছে।
BindRequest (const uint64_t & aPeerNodeId, uint8_t aTransport)
পরিচিত পিয়ার নোড আইডি এবং ট্রান্সপোর্ট স্পেসিফায়ার ব্যবহার করে একটি বন্ডিংয়ের অনুরোধ করুন।
BindRequest (const uint64_t & aPeerNodeId)
ডিফল্ট ট্রান্সপোর্ট ব্যবহার করে পরিচিত পিয়ারকে আবদ্ধ করুন।
BindRequest ( nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode)
BindRequest ( WeaveConnection *aConnection)
একটি সক্রিয় ওয়েভ সংযোগ ব্যবহার করে একটি বাঁধনের অনুরোধ করুন।
IncompleteIndication ( Binding *aBinding, StatusReport & aReport)
virtual void
একটি বাঁধাই ব্যর্থ হয়েছে যে একটি ইঙ্গিত হ্যান্ডেল।
IncompleteIndication (const uint64_t & aPeerNodeId, StatusReport & aReport)=0
virtual void
একটি বাঁধাই অসম্পূর্ণ হয়ে গেছে এমন একটি ইঙ্গিত পরিচালনা করুন।
Init ( WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
Init ( WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
UnbindRequest (const uint64_t & aPeerNodeId)
void
একটি বাঁধাই পূর্বাবস্থায় ফেরা এবং বাঁধন সারণী থেকে সরানো অনুরোধ।
UnbindRequest (const uint64_t & aPeerNodeId, WEAVE_ERROR aErr)
void
একটি বাঁধাই পূর্বাবস্থায় ফেরা এবং বাঁধন সারণী থেকে সরানো অনুরোধ।

সুরক্ষিত ফাংশন

Clear (void)
void
ClearBindingTable (void)
void
ClearTransactionTable (void)
void
DequeueTransaction ( DMTransaction *aTransaction)
void
EnqueueTransaction ( DMTransaction *aTransaction, Binding *aBinding)
EnqueueTransaction ( DMTransaction *aTransaction)
FailTransactions ( Binding *aBinding, StatusReport & aReport)
bool
Finalize (void)
virtual void
FinalizeBindingTable (void)
void
FinalizeTransactionTable (void)
void
FinalizeTransactions ( Binding *aBinding)
void
FromExchangeCtx ( ExchangeContext *aExchangeCtx)
GetBinding (const uint64_t & aPeerNodeId)
NewBinding (void)
StartTransaction ( DMTransaction *aTransaction, Binding *aBinding)
StartTransaction ( DMTransaction *aTransaction)
StatusResponse ( ExchangeContext *aExchangeCtx, StatusReport & aStatus)

ক্লাস

nl এর :: বুনা :: প্রোফাইল :: DataManagement_Legacy :: ProtocolEngine :: DMTransaction

সুরক্ষিত গুণাবলী

এমবাইন্ডিং টেবিল

Binding mBindingTable[kBindingTableSize]

ProtocolEngine একটি বাঁধাই টেবিল যে, যদি ইঞ্জিন কেবল সম্প্রচারের বিজ্ঞপ্তিগুলি পাওয়া পরলোক কিছু জন্য দায়ী হতে যাচ্ছে, সম্ভবত অন্তত একটি এন্ট্রি ধারণ করার প্রয়োজন রয়েছে।

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

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

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mResponseTimeout

uint32_t mResponseTimeout

mTransactionTable

TransactionTableEntry mTransactionTable[kTransactionTableSize]

পাবলিক ফাংশন

বাইন্ড কনফার্ম

virtual WEAVE_ERROR BindConfirm(
  Binding *aBinding
)

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

একবার একটি বাঁধাই শেষ হয়ে গেলে, প্রোটোকল ইঞ্জিন লেনদেনের টেবিলের মধ্য দিয়ে যায় এবং সেই বাঁধাইয়ের উপর নির্ভরশীল কোনও লেনদেন শুরু করে।

বিশদ
পরামিতি
[in] aBinding
সমাপ্ত বাইন্ডিংয়ের একটি পয়েন্টার।
ফিরে আসে
WEAVE_NO_ERROR সাফল্য অন। তা না হলে একটি ফিরতি WEAVE_ERROR একটি লেনদেন শুরু করার জন্য একটি অক্ষমতা অনুধ্যায়ী।

বাইন্ড কনফার্ম

virtual WEAVE_ERROR BindConfirm(
  Binding *aBinding,
  StatusReport & aReport
)

হ্যান্ডেল নিশ্চিতকরণ যে একটি বাঁধাইয়ের অনুরোধ ব্যর্থ হয়েছে।

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

বিশদ
পরামিতি
[in] aBinding
ব্যর্থ বাঁধাইয়ের জন্য একটি পয়েন্টার।
[in] aReport
ব্যর্থতার কারণ সম্পর্কিত বিশদ স্থিতি প্রতিবেদন বস্তুর একটি উল্লেখ।
ফিরে আসে

BindRequest

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId,
  uint8_t aTransport
)

পরিচিত পিয়ার নোড আইডি এবং ট্রান্সপোর্ট স্পেসিফায়ার ব্যবহার করে একটি বন্ডিংয়ের অনুরোধ করুন।

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

বিশদ
পরামিতি
[in] aPeerNodeId
পীর সত্তার 64-বিট নোড আইডির একটি উল্লেখ যা বাধ্যতামূলক লক্ষ্য।
[in] aTransport
ব্যবহারের জন্য পরিবহন।
ফিরে আসে
WEAVE_NO_ERROR সাফল্য বা WEAVE_ERROR_NO_MEMORY যদি বাঁধাই টেবিল পূর্ণ। তা না হলে একটি ফিরতি WEAVE_ERROR বাঁধাই আরম্ভ করতে ব্যর্থ অনুধ্যায়ী।
আরো দেখুন:
ওয়েভ ট্রান্সপোর্টঅপশন

BindRequest

WEAVE_ERROR BindRequest(
  const uint64_t & aPeerNodeId
)

ডিফল্ট ট্রান্সপোর্ট ব্যবহার করে পরিচিত পিয়ারকে আবদ্ধ করুন।

বিশদ
পরামিতি
[in] aPeerNodeId
পীর সত্তার 64-বিট নোড আইডির একটি উল্লেখ যা বাধ্যতামূলক লক্ষ্য।
ফিরে আসে
WEAVE_NO_ERROR সাফল্য অন। তা না হলে একটি ফিরতি WEAVE_ERROR বেঁধে অপারেশন ব্যর্থতা প্রতিফলিত।

BindRequest

WEAVE_ERROR BindRequest(
  nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager *aServiceMgr,
  WeaveAuthMode aAuthMode
)

BindRequest

WEAVE_ERROR BindRequest(
  WeaveConnection *aConnection
)

একটি সক্রিয় ওয়েভ সংযোগ ব্যবহার করে একটি বাঁধনের অনুরোধ করুন।

একটি বিদ্যমান এবং ওপেন, সংযোগ ব্যবহার করে একটি বাঁধাইও প্রতিষ্ঠিত হতে পারে। নোট করুন যে বাইন্ডিংগুলি এইভাবে প্রতিষ্ঠিত হয়েছে তাদের কোনও অতিরিক্ত সমাপ্তির প্রয়োজন নেই।

বিশদ
পরামিতি
[in] aConnection
বাইন্ডিং দ্বারা ব্যবহৃত একটি তাঁত সংযোগের একটি পয়েন্টার।
ফিরে আসে
WEAVE_NO_ERROR সাফল্য বা WEAVE_ERROR_NO_MEMORY যদি বাঁধাই টেবিল পূর্ণ। অন্যথায় বাঁধাই শুরু করতে ব্যর্থতা প্রতিফলিত করে একটি ত্রুটি ফেরান।

অসম্পূর্ণতা

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

একটি বাঁধাই ব্যর্থ হয়েছে যে একটি ইঙ্গিত হ্যান্ডেল।

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

বিশদ
পরামিতি
[in] aBinding
ব্যর্থ বাঁধাইয়ের জন্য একটি পয়েন্টার।
[in] aReport
ব্যর্থতার কারণ সম্পর্কিত বিশদ স্থিতি প্রতিবেদন বস্তুর একটি উল্লেখ।

অসম্পূর্ণতা

virtual void IncompleteIndication(
  const uint64_t & aPeerNodeId,
  StatusReport & aReport
)=0

একটি বাঁধাই অসম্পূর্ণ হয়ে গেছে এমন একটি ইঙ্গিত পরিচালনা করুন।

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

বিশদ
পরামিতি
[in] aPeerNodeId
পিয়ার নোড বা পরিষেবা শেষ পয়েন্টের 64৪-বিট আইডির একটি উল্লেখ যা ব্যর্থ বাঁধাইয়ের লক্ষ্য।
[in] aReport
ব্যর্থতার কারণ সম্পর্কিত বিশদ স্থিতি প্রতিবেদন বস্তুর একটি উল্লেখ।

এটা

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

এটা

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

প্রোটোকল ইঞ্জিন

 ProtocolEngine(
  void
)

আনবাইন্ড রিকুয়েস্ট

void UnbindRequest(
  const uint64_t & aPeerNodeId
)

একটি বাঁধাই পূর্বাবস্থায় ফেরা এবং বাঁধন সারণী থেকে সরানো অনুরোধ।

যখন কোনও বাইন্ডিং বর্তমানে "আনবাউন্ড" হয় তখন যে কোনও লেনদেন যা বর্তমানে এর উপর নির্ভর করে তাও মুছে ফেলা উচিত। এই পদ্ধতিটি স্বয়ংক্রিয়ভাবে এই বাঁধাইয়ের সাথে সমস্ত লেনদেনকে চূড়ান্ত করে।

বিশদ
পরামিতি
[in] aPeerNodeId
বাঁধাই সনাক্তকারী 64৪-বিট নোড আইডি বা পরিষেবা শেষ পয়েন্টের একটি উল্লেখ।
আরো দেখুন:
আনবাইন্ড রিকুইয়েস্ট (কনটেন্ট uint64_t, WEAVE_ERROR)

আনবাইন্ড রিকুয়েস্ট

void UnbindRequest(
  const uint64_t & aPeerNodeId,
  WEAVE_ERROR aErr
)

একটি বাঁধাই পূর্বাবস্থায় ফেরা এবং বাঁধন সারণী থেকে সরানো অনুরোধ।

যখন কোনও বাইন্ডিং বর্তমানে "আনবাউন্ড" হয় তখন যে কোনও লেনদেন যা বর্তমানে এর উপর নির্ভর করে তাও মুছে ফেলা উচিত। এই পদ্ধতিটি স্বয়ংক্রিয়ভাবে এই বাঁধাইয়ের সাথে সমস্ত লেনদেনকে চূড়ান্ত করে।

বিশদ
পরামিতি
[in] aPeerNodeId
বাঁধাই সনাক্তকারী 64৪-বিট নোড আইডি বা পরিষেবা শেষ পয়েন্টের একটি উল্লেখ।
[in] aErr
WEAVE_NO_ERROR যদি এই আনবাইন্ড অনুরোধের নির্দিষ্ট কারণ না থাকে, অন্যথায় ত্রুটির কারণটি কেটে যাবে।
আরো দেখুন:
আনবাইন্ড রিকোয়েস্ট (কনটেন্ট uint64_t)

~ প্রোটোকল ইঞ্জিন

virtual  ~ProtocolEngine(
  void
)

সুরক্ষিত ফাংশন

স্পষ্ট

void Clear(
  void
)

ক্লিয়ারবাইন্ডিং টেবিল

void ClearBindingTable(
  void
)

ক্লিয়ারট্রান্সঅ্যাকশন টেবিল

void ClearTransactionTable(
  void
)

DequeueTransaction

void DequeueTransaction(
  DMTransaction *aTransaction
)

এনকিউ ট্রান্সঅ্যাকশন

WEAVE_ERROR EnqueueTransaction(
  DMTransaction *aTransaction,
  Binding *aBinding
)

এনকিউ ট্রান্সঅ্যাকশন

WEAVE_ERROR EnqueueTransaction(
  DMTransaction *aTransaction
)

ফেইল ট্রান্সঅ্যাকশনস

bool FailTransactions(
  Binding *aBinding,
  StatusReport & aReport
)

চূড়ান্ত করা

virtual void Finalize(
  void
)

ফাইনালাইজবাইন্ডিং টেবিল

void FinalizeBindingTable(
  void
)

ফাইনালাইজ ট্রান্সজেকশন টেবিল

void FinalizeTransactionTable(
  void
)

চূড়ান্তকরণ

void FinalizeTransactions(
  Binding *aBinding
)

এক্সচেঞ্জসিটিএক্স

Binding * FromExchangeCtx(
  ExchangeContext *aExchangeCtx
)

গেটবাইন্ডিং

Binding * GetBinding(
  const uint64_t & aPeerNodeId
)

নিউবাইন্ডিং

Binding * NewBinding(
  void
)

স্টার্ট ট্রান্সজেকশন

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction,
  Binding *aBinding
)

স্টার্ট ট্রান্সজেকশন

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction
)

স্থিতিপূরণ on

WEAVE_ERROR StatusResponse(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)