nl:: বুনা:: প্রোফাইল:: Echo_Next :: WeaveEchoServer

#include <src/lib/profiles/echo/Next/WeaveEchoServer.h>

Accepts EchoRequest messages from a peer node and responds with an EchoResponse message.

সারাংশ

WeaveEchoServer ক্লাস ওয়েভ ইকো প্রোটোকলের প্রতিক্রিয়াকারী দিক প্রয়োগ করে। আইসিএমপি পিং প্রোটোকলের মতোই, উইভ ইকো প্রোটোকলটি একটি ওয়েভ নোডের সজীবতা এবং পৌঁছানোর ক্ষমতা পরীক্ষা করতে ব্যবহার করা যেতে পারে।

আগত EchoRequest বার্তাগুলিতে স্বয়ংক্রিয় প্রতিক্রিয়া সক্ষম করতে অ্যাপ্লিকেশনগুলি WeaveEchoServer ক্লাস ব্যবহার করতে পারে। ইকো অনুরোধ শুরু করার জন্য একটি সংশ্লিষ্ট শ্রেণী বিদ্যমান (দেখুন WeaveEchoClient )।

ডিফল্টরূপে WeaveEchoServer অনুরোধের মতো একই পেলোড সমন্বিত প্রতিক্রিয়া সহ একটি EchoRequest-এর সাথে সাথে সাড়া দেয়। তবে এই আচরণটি EchoRequestReceived API ইভেন্টের প্রক্রিয়াকরণের সময় অ্যাপ্লিকেশন দ্বারা পরিবর্তন করা যেতে পারে।

API ইভেন্ট

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

নিম্নলিখিত API ইভেন্টগুলি সংজ্ঞায়িত করা হয়েছে:

ইকোরিকোয়েস্ট রিসিভড

একজন সমবয়সীর কাছ থেকে একটি EchoRequest বার্তা পাওয়া গেছে। ইভেন্টের আর্গুমেন্টে রিকোয়েস্ট পেলোড, এক্সচেঞ্জ কনটেক্সট যার উপর মেসেজটি গৃহীত হয়েছিল এবং রিকোয়েস্ট মেসেজ সম্পর্কে মেটা-তথ্য থাকে।

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

ইকো রেসপন্স সেন্ট

একটি EchoResponse বার্তা পাঠানো হয়েছে, বা পাঠানো যায়নি। ইভেন্টের আর্গুমেন্টে সেই ত্রুটি রয়েছে যা বার্তা পাঠানোর ফলে (যদি থাকে) এবং বিনিময়ের প্রসঙ্গ যার উপর বার্তাটি পাঠানো হয়েছিল।

উত্তরাধিকার

থেকে উত্তরাধিকারসূত্রে পাওয়া যায়: nl::Weave::WeaveServerBase
সরাসরি পরিচিত সাবক্লাস: nl::Weave::DeviceLayer::Internal::EchoServer

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

WeaveEchoServer (void)
WeaveEchoServer এর জন্য ডিফল্ট কনস্ট্রাক্টর।

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

EchoFunct )(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload) typedef
void(*
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
EventType {
kEvent_EchoRequestReceived = 1,
kEvent_EchoResponseSent = 2,
kEvent_DefaultCheck = 100
}
enum

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

AppState
void *
অ্যাপ্লিকেশন-নির্দিষ্ট ডেটার জন্য একটি পয়েন্টার।
OnEchoRequestReceived
EchoFunct

পাবলিক ফাংশন

GetEventCallback (void) const
EventCallback
WeaveEchoServer অবজেক্টে বর্তমানে কনফিগার করা API ইভেন্ট কলব্যাক ফাংশনে একটি পয়েন্টার প্রদান করে।
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
একটি WeaveEchoServer অবজেক্ট শুরু করুন।
Init ( WeaveExchangeManager *exchangeMgr)
একটি WeaveEchoServer অবজেক্ট শুরু করুন।
SetEventCallback (EventCallback eventCallback)
void
WeaveEchoServer অবজেক্টে API ইভেন্ট কলব্যাক ফাংশন সেট করে।
Shutdown (void)
একটি পূর্বে শুরু করা WeaveEchoServer অবজেক্ট বন্ধ করুন।

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

DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
WeaveEchoServer API ইভেন্টের জন্য ডিফল্ট হ্যান্ডলার।

কাঠামো

nl:: বুনন:: প্রোফাইল:: Echo_Next:: WeaveEchoServer:: InEventParam

WeaveEchoServer API ইভেন্টে ইনপুট পরামিতি।

nl:: বুনন:: প্রোফাইল:: Echo_Next:: WeaveEchoServer:: OutEventParam

WeaveEchoServer API ইভেন্টে আউটপুট প্যারামিটার।

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

EchoFunct

void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)

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

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

ইভেন্ট টাইপ

 EventType
বৈশিষ্ট্য
kEvent_DefaultCheck

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

kEvent_EchoRequestReceived

একজন সমবয়সীর কাছ থেকে একটি EchoRequest বার্তা পাওয়া গেছে।

kEvent_EchoResponseSent

একটি EchoResponse বার্তা পাঠানো হয়েছে, বা পাঠানো যায়নি।

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

অ্যাপস্টেট

void * AppState

অ্যাপ্লিকেশন-নির্দিষ্ট ডেটার জন্য একটি পয়েন্টার।

OneEchoRequest প্রাপ্ত

EchoFunct OnEchoRequestReceived

পাবলিক ফাংশন

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

WeaveEchoServer অবজেক্টে বর্তমানে কনফিগার করা API ইভেন্ট কলব্যাক ফাংশনে একটি পয়েন্টার প্রদান করে।

ইনিট

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr,
  EventCallback eventCallback,
  void *appState
)

একটি WeaveEchoServer অবজেক্ট শুরু করুন।

একজন সহকর্মীর ইকো বার্তাগুলির প্রতিক্রিয়া জানাতে একটি WeaveEchoServer অবজেক্ট শুরু করুন।

বিস্তারিত
পরামিতি
[in] exchangeMgr
WeaveExchangeManager অবজেক্টের একটি পয়েন্টার।
[in] eventCallback
অ্যাপ্লিকেশনটিতে API ইভেন্টগুলি সরবরাহ করতে WeaveEchoServer অবজেক্ট দ্বারা কল করা হবে এমন একটি ফাংশনের একটি পয়েন্টার৷
[in] appState
একটি অ্যাপ্লিকেশন-সংজ্ঞায়িত বস্তুর একটি পয়েন্টার যা যখনই একটি API ইভেন্ট ঘটবে তখনই অ্যাপ্লিকেশনটিতে ফেরত পাঠানো হবে।

ইনিট

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

একটি WeaveEchoServer অবজেক্ট শুরু করুন।

একজন সহকর্মীর ইকো বার্তাগুলির প্রতিক্রিয়া জানাতে একটি WeaveEchoServer অবজেক্ট শুরু করুন।

অপ্রচলিত: অনুগ্রহ করে Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState) ব্যবহার করুন।

বিস্তারিত
পরামিতি
[in] exchangeMgr
WeaveExchangeManager অবজেক্টের একটি পয়েন্টার।
[in] eventCallback
অ্যাপ্লিকেশনটিতে API ইভেন্টগুলি সরবরাহ করতে WeaveEchoServer অবজেক্ট দ্বারা কল করা হবে এমন একটি ফাংশনের একটি পয়েন্টার৷
[in] appState
একটি অ্যাপ্লিকেশন-সংজ্ঞায়িত বস্তুর একটি পয়েন্টার যা যখনই একটি API ইভেন্ট ঘটবে তখনই অ্যাপ্লিকেশনটিতে ফেরত পাঠানো হবে।

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

void SetEventCallback(
  EventCallback eventCallback
)

WeaveEchoServer অবজেক্টে API ইভেন্ট কলব্যাক ফাংশন সেট করে।

শাটডাউন

WEAVE_ERROR Shutdown(
  void
)

একটি পূর্বে শুরু করা WeaveEchoServer অবজেক্ট বন্ধ করুন।

মনে রাখবেন যে এই পদ্ধতিটি শুধুমাত্র তখনই বলা যেতে পারে যদি Init() পদ্ধতিটি আগে কল করা হয়ে থাকে।

WeaveEchoServer

 WeaveEchoServer(
  void
)

WeaveEchoServer এর জন্য ডিফল্ট কনস্ট্রাক্টর।

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

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

void DefaultEventHandler(
  void *appState,
  EventType eventType,
  const InEventParam & inParam,
  OutEventParam & outParam
)

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

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

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