nl:: বুনা:: প্রোফাইল:: DataManagement_Legacy:: প্রোটোকল ইঞ্জিন

এটি একটি বিমূর্ত ক্লাস।

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

WDM প্রোটোকল ইঞ্জিন ক্লাস।

সারাংশ

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

উত্তরাধিকার

সরাসরি পরিচিত সাবক্লাস:
  nl::Weave::Profiles::DataManagement_Legacy::DMClient
  nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

ProtocolEngine (void)
~ProtocolEngine (void)

সুরক্ষিত বৈশিষ্ট্য

mBindingTable [kBindingTableSize]
প্রোটোকল ইঞ্জিনের একটি বাঁধাই টেবিল রয়েছে যে, যদি ইঞ্জিনটি কেবল সম্প্রচারের বিজ্ঞপ্তি প্রাপ্তির বাইরে যে কোনও কিছুর জন্য দায়ী হয়, সম্ভবত কমপক্ষে একটি এন্ট্রি থাকতে হবে।
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:: বুনন:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_লিগেসি:: প্রোটোকল ইঞ্জিন:: ডিএমটি ট্রানজ্যাকশন

সুরক্ষিত বৈশিষ্ট্য

mBindingTable

Binding mBindingTable[kBindingTableSize]

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

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

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

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mResponseTimeout

uint32_t mResponseTimeout

mTransactionTable

TransactionTableEntry mTransactionTable[kTransactionTableSize]

পাবলিক ফাংশন

BindConfirm

virtual WEAVE_ERROR BindConfirm(
  Binding *aBinding
)

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

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

বিস্তারিত
পরামিতি
[in] aBinding
সম্পূর্ণ বাঁধাই করার জন্য একটি নির্দেশক।
রিটার্নস
WEAVE_NO_ERROR সাফল্যে। অন্যথায় একটি WEAVE_ERROR ফেরত যা একটি লেনদেন শুরু করতে অক্ষমতা প্রতিফলিত করে৷

BindConfirm

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

একটি আবদ্ধ অনুরোধ ব্যর্থ হয়েছে নিশ্চিতকরণ পরিচালনা করুন.

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

বিস্তারিত
পরামিতি
[in] aBinding
ব্যর্থ বাঁধাই করার জন্য একটি নির্দেশক।
[in] aReport
একটি StatusReport অবজেক্টের একটি রেফারেন্স যা ব্যর্থতার কারণ বর্ণনা করে।
রিটার্নস

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
)

একটি বাইন্ডিং ব্যর্থ হয়েছে এমন একটি ইঙ্গিত পরিচালনা করুন।

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

বিস্তারিত
পরামিতি
[in] aBinding
ব্যর্থ বাঁধাই করার জন্য একটি নির্দেশক।
[in] aReport
একটি StatusReport অবজেক্টের একটি রেফারেন্স যা ব্যর্থতার কারণ বর্ণনা করে।

অসম্পূর্ণ ইঙ্গিত

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

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

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

বিস্তারিত
পরামিতি
[in] aPeerNodeId
পিয়ার নোড বা পরিষেবা শেষ পয়েন্টের 64-বিট আইডির একটি রেফারেন্স যা ব্যর্থ বাঁধাইয়ের লক্ষ্য।
[in] aReport
একটি StatusReport অবজেক্টের একটি রেফারেন্স যা ব্যর্থতার কারণ বর্ণনা করে।

ইনিট

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

ইনিট

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

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

 ProtocolEngine(
  void
)

UnbindRequest

void UnbindRequest(
  const uint64_t & aPeerNodeId
)

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

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

বিস্তারিত
পরামিতি
[in] aPeerNodeId
64-বিট নোড আইডি বা পরিষেবার শেষ পয়েন্টের একটি রেফারেন্স যা বাইন্ডিং সনাক্ত করে।
আরও দেখুন:
UnbindRequest(const uint64_t, WEAVE_ERROR)

UnbindRequest

void UnbindRequest(
  const uint64_t & aPeerNodeId,
  WEAVE_ERROR aErr
)

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

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

বিস্তারিত
পরামিতি
[in] aPeerNodeId
64-বিট নোড আইডি বা পরিষেবার শেষ পয়েন্টের একটি রেফারেন্স যা বাইন্ডিং সনাক্ত করে।
[in] aErr
WEAVE_NO_ERROR যদি এই আনবাইন্ড অনুরোধের কোনো নির্দিষ্ট কারণ না থাকে, অন্যথায় ত্রুটির কারণটি পাস করা হবে।
আরও দেখুন:
UnbindRequest(const uint64_t)

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

virtual  ~ProtocolEngine(
  void
)

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

পরিষ্কার

void Clear(
  void
)

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

void ClearBindingTable(
  void
)

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

void ClearTransactionTable(
  void
)

ডিকিউ লেনদেন

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
)

GetBinding

Binding * GetBinding(
  const uint64_t & aPeerNodeId
)

নিউ বাইন্ডিং

Binding * NewBinding(
  void
)

লেনদেন শুরু করুন

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction,
  Binding *aBinding
)

লেনদেন শুরু করুন

WEAVE_ERROR StartTransaction(
  DMTransaction *aTransaction
)

স্ট্যাটাস রেসপন্স

WEAVE_ERROR StatusResponse(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)