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) | typedefvoid(* |
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) | typedefvoid(* |
EventType { | 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
পাবলিক বৈশিষ্ট্য
অ্যাপস্টেট
void * AppState
অ্যাপ্লিকেশন-নির্দিষ্ট ডেটার জন্য একটি পয়েন্টার।
OneEchoRequest প্রাপ্ত
EchoFunct OnEchoRequestReceived
পাবলিক ফাংশন
GetEventCallback
EventCallback GetEventCallback( void ) const
WeaveEchoServer অবজেক্টে বর্তমানে কনফিগার করা API ইভেন্ট কলব্যাক ফাংশনে একটি পয়েন্টার প্রদান করে।
ইনিট
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
একটি WeaveEchoServer অবজেক্ট শুরু করুন।
একজন সহকর্মীর ইকো বার্তাগুলির প্রতিক্রিয়া জানাতে একটি WeaveEchoServer অবজেক্ট শুরু করুন।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
ইনিট
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
একটি WeaveEchoServer অবজেক্ট শুরু করুন।
একজন সহকর্মীর ইকো বার্তাগুলির প্রতিক্রিয়া জানাতে একটি WeaveEchoServer অবজেক্ট শুরু করুন।
অপ্রচলিত: অনুগ্রহ করে Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState) ব্যবহার করুন।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
সেট ইভেন্ট কলব্যাক
void SetEventCallback( EventCallback eventCallback )
WeaveEchoServer অবজেক্টে API ইভেন্ট কলব্যাক ফাংশন সেট করে।
শাটডাউন
WEAVE_ERROR Shutdown( void )
একটি পূর্বে শুরু করা WeaveEchoServer অবজেক্ট বন্ধ করুন।
মনে রাখবেন যে এই পদ্ধতিটি শুধুমাত্র তখনই বলা যেতে পারে যদি Init() পদ্ধতিটি আগে কল করা হয়ে থাকে।
পাবলিক স্ট্যাটিক ফাংশন
ডিফল্ট ইভেন্টহ্যান্ডলার
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
WeaveEchoServer API ইভেন্টের জন্য ডিফল্ট হ্যান্ডলার।
কোনো API ইভেন্টের জন্য এই পদ্ধতিতে কল করার জন্য অ্যাপ্লিকেশনের প্রয়োজন হয় যা তারা চিনতে পারে না বা পরিচালনা করে না। সরবরাহ করা পরামিতিগুলি অবশ্যই সার্ভার অবজেক্ট দ্বারা অ্যাপ্লিকেশনের ইভেন্ট হ্যান্ডলার ফাংশনে পাস করা প্যারামিটারগুলির মতোই হতে হবে৷
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
|