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

এনএল :: তাঁত :: পদ্ধতি:: স্তর

#include <src/system/SystemLayer.h>

This provides access to timers according to the configured event handling model.

সারসংক্ষেপ

জন্য WEAVE_SYSTEM_CONFIG_USE_SOCKETS , ঘটনা প্রস্তুতি প্রজ্ঞাপন প্ল্যাটফর্ম অভিযোজন ঐতিহ্যবাহী পোলের / নির্বাচন বাস্তবায়ন মাধ্যমে পরিচালিত হয়।

জন্য WEAVE_SYSTEM_CONFIG_USE_LWIP , ঘটনা প্রস্তুতি প্রজ্ঞাপন ঘটনা / বার্তা এবং platform- এবং ইভেন্ট / বার্তা সিস্টেমের জন্য সিস্টেম-ভিত্তিক আঙ্গুলসমূহ মাধ্যমে হ্যান্ডেল।

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

Layer (void)

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

EventHandler )(Object &aTarget, EventType aEventType, uintptr_t aArgument) টাইপডেফ
Error(*
TimerCompleteFunct )(Layer *aLayer, void *aAppState, Error aError) টাইপডেফ
void(*

পাবলিক ফাংশন

AddEventHandlerDelegate ( LwIPEventHandlerDelegate & aDelegate)
Error
এটি LwIP ইভেন্টগুলি পরিচালনা করার ক্ষমতা বাড়ানোর জন্য সিস্টেম লেয়ারে ইভেন্ট হ্যান্ডলার প্রতিনিধি যুক্ত করে।
CancelTimer (TimerCompleteFunct aOnComplete, void *aAppState)
void
এই পদ্ধতি এক-শটের টাইমার মাধ্যমে আগে শুরু বাতিল StartTimer()
DispatchEvent (Event aEvent)
Error
এটি এই উদাহরণটি দ্বারা পরিচালনা করার জন্য নির্দিষ্ট ইভেন্টটি প্রেরণ করে।
DispatchEvents (void)
Error
এটি একটি প্ল্যাটফর্ম-নির্দিষ্ট হুকের চারপাশে একটি সিনট্যাক্টিক মোড়ক যা কোনও ইভেন্ট লুপকে প্রভাবিত করে, একটি সারিটির জন্য অপেক্ষা করে যা এই দৃষ্টিকোণটিকে পরিষেবা দেয়, ইভেন্টগুলি সেই সারি থেকে দূরে সরিয়ে দেয় এবং তারপরে পরিচালনা করার জন্য প্রেরণ করে।
GetPlatformData (void) const
void *
এটি উদাহরণস্বরূপ নির্ধারিত কোনও ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা ফেরত দেয়, যদি এটি আগে সেট করা থাকে।
HandleEvent ( Object & aTarget, EventType aEventType, uintptr_t aArgument)
Error
এই কার্যকরী প্রকৃত প্রেরণ এবং বুনা সিস্টেম-এর হ্যান্ডলিং লেয়ার ইভেন্ট।
HandlePlatformTimer (void)
Error
প্ল্যাটফর্ম টাইমার সমাপ্তির ইভেন্টটি পরিচালনা করুন।
HandleSelectResult (int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet)
void
একটি নির্বাচিত কল থেকে I / O পরিচালনা করুন।
Init (void *aContext)
Error
NewTimer ( Timer *& aTimerPtr)
Error
PostEvent ( Object & aTarget, EventType aEventType, uintptr_t aArgument)
Error
এই উদাহরণটির প্ল্যাটফর্ম-নির্দিষ্ট ইভেন্ট সারিতে প্রদত্ত যুক্তি সহ নির্দিষ্ট ধরণের একটি ইভেন্ট / বার্তা পোস্ট করে।
PrepareSelect (int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime)
void
ফাইল বর্ণনাকারী সেট তৈরী select() সঙ্গে কাজ করতে।
ScheduleWork (TimerCompleteFunct aComplete, void *aAppState)
Error
সূচী স্বাক্ষর অভিন্ন সঙ্গে একটি ফাংশন TimerCompleteFunct বুনা থ্রেডে যত তাড়াতাড়ি সম্ভব কমান্ডগুলো চালানো হয়।
SetPlatformData (void *aPlatformData)
void
এটি ক্লায়েন্ট প্ল্যাটফর্ম দ্বারা পরবর্তী পুনরুদ্ধারের জন্য উদাহরণটিতে নির্দিষ্ট ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা সেট করে।
Shutdown (void)
Error
StartTimer (uint32_t aMilliseconds, TimerCompleteFunct aComplete, void *aAppState)
Error
এই পদ্ধতিটি একটি শট টাইমার শুরু করে।
State (void) const
LayerState
এটি স্তর অবজেক্টের বর্তমান অবস্থা প্রদান করে।
WakeSelect (void)
void
ওয়ে / পাইপে একটি একক বাইট লিখে সিলেক্ট () ব্যবহার করে ফাইল বর্ণনাকারীদের নিরীক্ষণকারী I / O থ্রেডটি জাগান।

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

GetClock_Monotonic (void)
uint64_t
মাইক্রোসেকেন্ডগুলির ইউনিটগুলিতে একঘেয়ে সিস্টেমের সময় দেয়।
GetClock_MonotonicHiRes (void)
uint64_t
মাইক্রোসেকেন্ডগুলির ইউনিটগুলিতে একটি (সম্ভাব্য) উচ্চ-রেজোলিউশন একঘেয়েমিক সিস্টেম সময় প্রদান করে।
GetClock_MonotonicMS (void)
uint64_t
মিলিসেকেন্ডের ইউনিটে একঘেয়ে সিস্টেমের সময় দেয়।
GetClock_RealTime (uint64_t & curTime)
Error
মাইক্রোসেকেন্ড ইউনিক্স সময় বিন্যাসে বর্তমান আসল (নাগরিক) সময় প্রদান করে।
GetClock_RealTimeMS (uint64_t & curTimeMS)
Error
মিলিসেকেন্ড ইউনিক্স সময় বিন্যাসে বর্তমান আসল (নাগরিক) সময় প্রদান করে।
SetClock_RealTime (uint64_t newCurTime)
Error
প্ল্যাটফর্মের বর্তমান বর্তমান (নাগরিক) সময়ের ধারণা সেট করে।

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

অনুষ্ঠান পরিচালনাকারী

Error(* EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument)

টাইমার কমপ্লিটফ্যান্ট

void(* TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError)

পাবলিক ফাংশন

অ্যাডএভেন্টহ্যান্ডলারডেলিগেট

Error AddEventHandlerDelegate(
  LwIPEventHandlerDelegate & aDelegate
)

এটি LwIP ইভেন্টগুলি পরিচালনা করার ক্ষমতা বাড়ানোর জন্য সিস্টেম লেয়ারে ইভেন্ট হ্যান্ডলার প্রতিনিধি যুক্ত করে।

বিশদ
পরামিতি
[in] aDelegate
একটি অবিচ্ছিন্ন LwIP ইভেন্ট হ্যান্ডলার প্রতিনিধি কাঠামো
রিটার্ন মান
WEAVE_SYSTEM_NO_ERROR
সাফল্যের উপর।
WEAVE_SYSTEM_ERROR_BAD_ARGS
যদি এইডেলিগেটে অন্তর্ভুক্ত ফাংশন পয়েন্টারটি হয় নাল

বাতিলকরণ

void CancelTimer(
  TimerCompleteFunct aOnComplete,
  void *aAppState
)

এই পদ্ধতি এক-শটের টাইমার মাধ্যমে আগে শুরু বাতিল StartTimer()

বিশদ
পরামিতি
[in] aOnComplete
কলব্যাক ফাংশন একটি পয়েন্টার কলিং ব্যবহৃত StartTimer()
[in] aAppState
আবেদন রাষ্ট্র বস্তুর একটি পয়েন্টার কলিং ব্যবহৃত StartTimer()

প্রেরণ

Error DispatchEvent(
  Event aEvent
)

এটি এই উদাহরণটি দ্বারা পরিচালনা করার জন্য নির্দিষ্ট ইভেন্টটি প্রেরণ করে।

ধরন এবং ইভেন্ট থেকে আর্গুমেন্ট unmarshalling একটি প্ল্যাটফর্ম-নির্দিষ্ট হুক যা পরে ফিরে কল করা উচিত দ্বারা পরিচালিত হয় handleEvent লেয়ার :: প্রকৃত প্রেরণ জন্য।

বিশদ
পরামিতি
[in] aEvent
পরিচালনা করার জন্য প্রেরণে প্ল্যাটফর্ম-নির্দিষ্ট ইভেন্ট অবজেক্ট।
ফিরে আসে
সাফল্যে WEAVE_SYSTEM_NO_ERROR; অন্যথায়, একটি নির্দিষ্ট ত্রুটি শুরুর ব্যর্থতার কারণ নির্দেশ করে।

প্রেরণ

Error DispatchEvents(
  void
)

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

বিশদ
ফিরে আসে
WEAVE_SYSTEM_NO_ERROR সাফল্যের; অন্যথায়, একটি নির্দিষ্ট ত্রুটি শুরুর ব্যর্থতার কারণ নির্দেশ করে।

গেটপ্লেফর্মডেটা

void * GetPlatformData(
  void
) const 

এটি উদাহরণস্বরূপ নির্ধারিত কোনও ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা ফেরত দেয়, যদি এটি আগে সেট করা থাকে।

বিশদ
ফিরে আসে
ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা, যদি আগে সেট করা থাকে; অন্যথায়, NULL।

হ্যান্ডেলএভেন্ট

Error HandleEvent(
  Object & aTarget,
  EventType aEventType,
  uintptr_t aArgument
)

এই কার্যকরী প্রকৃত প্রেরণ এবং বুনা সিস্টেম-এর হ্যান্ডলিং লেয়ার ইভেন্ট।

বিশদ
পরামিতি
[in,out] aTarget
ইভেন্টটি লক্ষ্যবস্তু হওয়া স্তর অবজেক্টের একটি উল্লেখ।
[in] aEventType
হ্যান্ডেল করার জন্য ইভেন্ট / বার্তার ধরণ।
[in] aArgument
ইভেন্ট / বার্তার সাথে যুক্ত যুক্তি।
রিটার্ন মান
WEAVE_SYSTEM_NO_ERROR
সাফল্যের উপর।
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
ইনলেটলারের বস্তুর অবস্থা যদি ভুল হয়।
WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
ইভেন্টের ধরনটি যদি অপ্রজ্ঞিত হয়।

হ্যান্ডেলপ্ল্যাটফর্মটাইমার

Error HandlePlatformTimer(
  void
)

প্ল্যাটফর্ম টাইমার সমাপ্তির ইভেন্টটি পরিচালনা করুন।

কলগুলি এনএল :: ওয়েভ :: সিস্টেম :: টাইমার :: যে কোনও মেয়াদ শেষ হওয়া টাইমারগুলি পরিচালনা করতে হ্যান্ডল এক্সপায়ারড টাইমারস rs ধারণা করা হয় এই API বলা হয় শুধুমাত্র যখন থ্রেড যা বুনা সিস্টেম মালিক উপর লেয়ার অবজেক্ট।

বিশদ
ফিরে আসে
সাফল্যের উপর WEAVE_SYSTEM_NO_ERROR, অন্যথায় ত্রুটি কোড।

হ্যান্ডেলসিলিটরেসাল্ট

void HandleSelectResult(
  int aSetSize,
  fd_set *aReadSet,
  fd_set *aWriteSet,
  fd_set *aExceptionSet
)

একটি নির্বাচিত কল থেকে I / O পরিচালনা করুন।

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

বিশদ
পরামিতি
[in] aSetSize
নির্বাচিত কলটির রিটার্ন মান।
[in] aReadSet
পঠিত ফাইল বর্ণনাকারীদের সেটের একটি পয়েন্টার।
[in] aWriteSet
লেখার ফাইল বর্ণনাকারীর সেটের পয়েন্টার।
[in] aExceptionSet
ত্রুটিযুক্ত ফাইল বর্ণনাকারীর সেটের পয়েন্টার।

এটা

Error Init(
  void *aContext
)

স্তর

 Layer(
  void
)

নিউটাইমার

Error NewTimer(
  Timer *& aTimerPtr
)

ঘটনা পরবর্তী

Error PostEvent(
  Object & aTarget,
  EventType aEventType,
  uintptr_t aArgument
)

এই উদাহরণটির প্ল্যাটফর্ম-নির্দিষ্ট ইভেন্ট সারিতে প্রদত্ত যুক্তি সহ নির্দিষ্ট ধরণের একটি ইভেন্ট / বার্তা পোস্ট করে।

বিশদ
পরামিতি
[in,out] aTarget
বুনা সিস্টেমের জন্য একটি পয়েন্টার লেয়ার পোস্টে অনুরোধ করছে অবজেক্ট।
[in] aEventType
পোস্ট করার জন্য ইভেন্টের ধরণ।
[in,out] aArgument
ইভেন্টটি পোস্ট করার সাথে যুক্ত যুক্তি।
রিটার্ন মান
WEAVE_SYSTEM_NO_ERROR
সাফল্যের উপর।
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
রাজ্যের তাহলে লেয়ার বস্তুর ভুল।
WEAVE_SYSTEM_ERROR_NO_MEMORY
যদি ইভেন্টের সারি ইতিমধ্যে পূর্ণ থাকে।
other
প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটিগুলি ব্যর্থতার কারণ সূচিত করে generated

প্রস্তুতি নির্বাচন করুন

void PrepareSelect(
  int & aSetSize,
  fd_set *aReadSet,
  fd_set *aWriteSet,
  fd_set *aExceptionSet,
  struct timeval & aSleepTime
)

ফাইল বর্ণনাকারী সেট তৈরী select() সঙ্গে কাজ করতে।

বিশদ
পরামিতি
[out] aSetSize
ফাইল বর্ণনাকারী সেটে ফাইল বর্ণনাকারীর ব্যাপ্তি।
[in] aReadSet
পঠনযোগ্য ফাইল বর্ণনাকারীর সেটের একটি পয়েন্টার।
[in] aWriteSet
লেখার যোগ্য ফাইল বর্ণনাকারীর সেটের পয়েন্টার।
[in] aExceptionSet
ত্রুটিযুক্ত ফাইল বর্ণনাকারীর সেটের পয়েন্টার।
[in] aSleepTime
সর্বাধিক ঘুমের সময় সম্পর্কিত একটি রেফারেন্স।

শিডিউল ওয়ার্ক

Error ScheduleWork(
  TimerCompleteFunct aComplete,
  void *aAppState
)

সূচী স্বাক্ষর অভিন্ন সঙ্গে একটি ফাংশন TimerCompleteFunct বুনা থ্রেডে যত তাড়াতাড়ি সম্ভব কমান্ডগুলো চালানো হয়।

বিশদ
পরামিতি
[in] aComplete
এই টাইমারটি যখন জ্বলতে থাকে তখন কল করার জন্য কলব্যাক ফাংশনের পয়েন্টার।
[in] aAppState
আবেদনের হিসাবে কলব্যাক ফাংশনে পাস করার জন্য একটি অ্যাপ্লিকেশন স্টেট অবজেক্টের একটি পয়েন্টার।
রিটার্ন মান
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
যদি সিস্টেমলায়ারটি আরম্ভ না করা হয়।
WEAVE_SYSTEM_ERROR_NO_MEMORY
যদি সিস্টেমলায়ার একটি নতুন টাইমার বরাদ্দ করতে না পারে।
WEAVE_SYSTEM_NO_ERROR
সাফল্যের উপর।

সেটপ্ল্যাটফর্মডেটা

void SetPlatformData(
  void *aPlatformData
)

এটি ক্লায়েন্ট প্ল্যাটফর্ম দ্বারা পরবর্তী পুনরুদ্ধারের জন্য উদাহরণটিতে নির্দিষ্ট ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা সেট করে।

বিশদ
পরামিতি
[in] aPlatformData
সেট করতে ক্লায়েন্ট-নির্দিষ্ট প্ল্যাটফর্ম ডেটা।

শাটডাউন

Error Shutdown(
  void
)

স্টার্টটাইমার

Error StartTimer(
  uint32_t aMilliseconds,
  TimerCompleteFunct aComplete,
  void *aAppState
)

এই পদ্ধতিটি একটি শট টাইমার শুরু করে।

বিশদ
পরামিতি
[in] aMilliseconds
মিলিসেকেন্ডে মেয়াদ শেষ হওয়ার সময়।
[in] aComplete
টাইমারটির মেয়াদ শেষ হলে ফাংশনটির একটি পয়েন্টার।
[in] aAppState
টাইমার মেয়াদ শেষ হয়ে গেলে ব্যবহৃত অ্যাপ্লিকেশন স্টেট অবজেক্টের পয়েন্টার।
ফিরে আসে
সাফল্যের সাথে WEAVE_SYSTEM_NO_ERROR
ফিরে আসে
WEAVE_SYSTEM_ERROR_NO_MEMORY যদি টাইমার বরাদ্দ না করা যায়।
ফিরে আসে
অন্যান্য মান ইঙ্গিতকারী টাইমার শুরু করতে ব্যর্থ।

রাষ্ট্র

LayerState State(
  void
) const 

এটি স্তর অবজেক্টের বর্তমান অবস্থা প্রদান করে।

WakeSelect

void WakeSelect(
  void
)

ওয়ে / পাইপে একটি একক বাইট লিখে সিলেক্ট () ব্যবহার করে ফাইল বর্ণনাকারীদের নিরীক্ষণকারী I / O থ্রেডটি জাগান।

নোট: যদি WakeSelect() মধ্য থেকে বলা হয় হচ্ছে HandleSelectResult() , তারপর প্রাক্কালে পাইপ এড়ানো যাবে লেখা, যেহেতু আমি / হে থ্রেড ইতিমধ্যে জাগ্রত হয়। তদুপরি, এই লেখার ব্যর্থতা হ'ল আমরা পাত্তা দিই না কারণ কেবলমাত্র ব্যর্থতা হ'ল পাইপটি পূর্ণ, এক্ষেত্রে নির্বাচিত কলিং থ্রেড যেভাবেই উঠতে চলেছে।

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

গেটলক_মনোটোনিক

uint64_t GetClock_Monotonic(
  void
)

মাইক্রোসেকেন্ডগুলির ইউনিটগুলিতে একঘেয়ে সিস্টেমের সময় দেয়।

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

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

এই ফাংশনটি থ্রেডিংয়ের নিয়োগ করে এমন যে কোনও প্ল্যাটফর্মে থ্রেড-নিরাপদ থাকার গ্যারান্টিযুক্ত।

বিশদ
ফিরে আসে
একটি স্বেচ্ছাসেবক, প্ল্যাটফর্ম-সংজ্ঞায়িত যুগের সময় থেকে মাইক্রোসেকেন্ডগুলিতে অতিবাহিত সময়।

গেটলক_মোনোটোনিকহাইরেস

uint64_t GetClock_MonotonicHiRes(
  void
)

মাইক্রোসেকেন্ডগুলির ইউনিটগুলিতে একটি (সম্ভাব্য) উচ্চ-রেজোলিউশন একঘেয়েমিক সিস্টেম সময় প্রদান করে।

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

কিছু প্ল্যাটফর্মের বাস্তবায়ন করিতে পারিবে GetClock_MonotonicHiRes () একটি উচ্চ রিসোলিউশনের তার চেয়ে অনেক বেশী স্পষ্টতা করতে সক্ষম টাইমার ব্যবহার GetClock_Monotonic () , এবং যে ধীরে ধীরে ঘড়ি সমন্বয় (slewing) সাপেক্ষে নয়। যেমন একটি টাইমার ছাড়া সিস্টেম কেবল মানের সমান ফেরত দিতে পারেন GetClock_Monotonic () ।

দ্বারা ফিরে সময় জন্য যুগান্তকারী GetClock_MonotonicHiRes () একই হতে প্রয়োজন হয় না যে অন্যান্য GetClock কোন জন্য ... সহ ফাংশন, GetClock_Monotonic ()

এই ফাংশনটি থ্রেডিংয়ের নিয়োগ করে এমন যে কোনও প্ল্যাটফর্মে থ্রেড-নিরাপদ থাকার গ্যারান্টিযুক্ত।

বিশদ
ফিরে আসে
একটি স্বেচ্ছাসেবক, প্ল্যাটফর্ম-সংজ্ঞায়িত যুগের পর থেকে মাইক্রোসেকেন্ডগুলিতে অতিবাহিত সময়।

গেটক্লক_মোনোটোনিক এসএমএস

uint64_t GetClock_MonotonicMS(
  void
)

মিলিসেকেন্ডগুলির ইউনিটে একঘেয়ে সিস্টেমের সময় দেয়।

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

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

এই ফাংশনটি থ্রেডিংয়ের নিয়োগ করে এমন যে কোনও প্ল্যাটফর্মে থ্রেড-নিরাপদ থাকার গ্যারান্টিযুক্ত।

বিশদ
ফিরে আসে
একটি স্বেচ্ছাসেবক, প্ল্যাটফর্ম-সংজ্ঞায়িত যুগের সময় থেকে মিলিসেকেন্ডে সময় অতিবাহিত।

গেটক্লক_রিয়েলটাইম

Error GetClock_RealTime(
  uint64_t & curTime
)

মাইক্রোসেকেন্ড ইউনিক্স সময় বিন্যাসে বর্তমান আসল (নাগরিক) সময় প্রদান করে।

এই পদ্ধতিটি স্থানীয় প্ল্যাটফর্মের বর্তমান রিয়েল টাইমটির ধারণাটি ফিরিয়ে দেয়, মাইক্রোসেকেন্ডগুলিতে মেশানো ইউনিক্স সময় মান হিসাবে প্রকাশ করে। অন্তর্নিহিত ঘড়িটি কমপক্ষে পুরো সেকেন্ডে (1,000,000 এর মান) হারে টিক দেওয়ার গ্যারান্টিযুক্ত তবে কয়েকটি প্ল্যাটফর্মে দ্রুত টিক দিতে পারে t

তাহলে অন্তর্নিহীত প্ল্যাটফর্ম রিয়েল টাইমে ট্র্যাকিং করতে সক্ষম, কিন্তু সিস্টেম বর্তমানে unsynchronized হয়, GetClock_RealTime () WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED ত্রুটি ফিরে আসবে।

প্ল্যাটফর্মের যে বাস্তব সময় ট্র্যাকিং অসমর্থ হয়, GetClock_RealTime () পদ্ধতি অনুপস্থিত হতে পারে, কোনো অ্যাপ্লিকেশন যে রেফারেন্স এটির জন্য একটি লিংক ত্রুটি দেখার সংখ্যা। অন্যথা, যেমন প্ল্যাটফর্মের একটি বাস্তবায়ন সরবরাহ করতে পারে GetClock_RealTime () যে সবসময় WEAVE_SYSTEM_ERROR_NOT_SUPPORTED ত্রুটি ফেরৎ।

এই ফাংশনটি থ্রেডিংয়ের নিয়োগ করে এমন যে কোনও প্ল্যাটফর্মে থ্রেড-নিরাপদ থাকার গ্যারান্টিযুক্ত।

বিশদ
পরামিতি
[out] curTime
বর্তমান সময়টি ইউনিক্স সময়কে মাইক্রোসেকেন্ডগুলিতে মাপা হিসাবে প্রকাশ করা হয়েছে।
রিটার্ন মান
WEAVE_SYSTEM_NO_ERROR
যদি পদ্ধতিটি সফল হয়।
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
প্ল্যাটফর্মটি যদি রিয়েল টাইম ট্র্যাক করতে সক্ষম হয় তবে বর্তমানে এটি অযৌক্তিক।
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
প্ল্যাটফর্মটি যদি রিয়েল টাইম ট্র্যাক করতে অক্ষম থাকে।

গেটলক_আরয়েলটাইমসএমএস

Error GetClock_RealTimeMS(
  uint64_t & curTimeMS
)

মিলিসেকেন্ড ইউনিক্স সময় বিন্যাসে বর্তমান আসল (নাগরিক) সময় প্রদান করে।

এই পদ্ধতিটি স্থানীয় প্ল্যাটফর্মের বর্তমান রিয়েল টাইম সম্পর্কিত ধারণাটি ফেরত দেয়, যা ইউনিক্স সময় মূল্যকে মিলি সেকেন্ডে স্কেল করে expressed অন্তর্নিহিত ঘড়িটি কমপক্ষে পুরো সেকেন্ডে (1,000,000 এর মান) হারে টিক দেওয়ার গ্যারান্টিযুক্ত তবে কয়েকটি প্ল্যাটফর্মে দ্রুত টিক দিতে পারে t

তাহলে অন্তর্নিহীত প্ল্যাটফর্ম রিয়েল টাইমে ট্র্যাকিং করতে সক্ষম, কিন্তু সিস্টেম বর্তমানে unsynchronized হয়, GetClock_RealTimeMS () ত্রুটি WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED ফিরে আসবে।

প্ল্যাটফর্মের যে বাস্তব সময় ট্র্যাকিং অসমর্থ হয়, উপর GetClock_RealTimeMS () পদ্ধতি অনুপস্থিত হতে পারে, কোনো অ্যাপ্লিকেশন যে রেফারেন্স এটির জন্য একটি লিংক ত্রুটি দেখার সংখ্যা। অন্যথা, যেমন প্ল্যাটফর্মের একটি বাস্তবায়ন সরবরাহ করতে পারে GetClock_RealTimeMS () যে সবসময় WEAVE_SYSTEM_ERROR_NOT_SUPPORTED ত্রুটি ফেরৎ।

এই ফাংশনটি থ্রেডিংয়ের নিয়োগ করে এমন যে কোনও প্ল্যাটফর্মে থ্রেড-নিরাপদ থাকার গ্যারান্টিযুক্ত।

বিশদ
পরামিতি
[out] curTime
বর্তমান সময়, ইউনিক্স সময় হিসাবে মিলি সেকেন্ডে স্কেল হিসাবে প্রকাশিত।
রিটার্ন মান
WEAVE_SYSTEM_NO_ERROR
যদি পদ্ধতিটি সফল হয়।
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
প্ল্যাটফর্মটি যদি রিয়েল টাইম ট্র্যাক করতে সক্ষম হয় তবে বর্তমানে এটি অযৌক্তিক।
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
প্ল্যাটফর্মটি যদি রিয়েল টাইম ট্র্যাক করতে অক্ষম থাকে।

সেটক্লক_প্রকাশকালীন

Error SetClock_RealTime(
  uint64_t newCurTime
)

প্ল্যাটফর্মের বর্তমান বর্তমান (নাগরিক) সময়ের ধারণা সেট করে।

স্থানীয় প্ল্যাটফর্মের বর্তমান বাস্তব সময়ের ধারণাটি সেট করতে অ্যাপ্লিকেশনগুলি এই ফাংশনটিকে কল করতে পারে। নতুন বর্তমান সময়টিকে ইউনিক্স সময় মান হিসাবে মাইক্রোসেকেন্ডগুলিতে পরিমাপ করা হয়।

একবার সেট হয়ে গেলে অন্তর্নিহিত প্ল্যাটফর্ম ঘড়িটি কমপক্ষে পুরো সেকেন্ডের গ্রানুলারিটির সাথে রিয়েল টাইম ট্র্যাক করার নিশ্চয়তা দেয়।

কিছু প্ল্যাটফর্ম কোনও অ্যাপ্লিকেশন বা প্রক্রিয়াগুলি রিয়েল টাইম সেট করতে পারে তা সীমাবদ্ধ করতে পারে। আহ্বানকারী বাস্তব সময় পরিবর্তন করতে অনুমতি না থাকে, SetClock_RealTime () ফাংশন ত্রুটি WEAVE_SYSTEM_ERROR_ACCESS_DENIED ফিরে আসবে।

প্ল্যাটফর্মের যে বাস্তব সময় ট্র্যাকিং অসমর্থ, অথবা সেট রিয়েল টাইমে করার ক্ষমতা প্রস্তাব না তারিখে, SetClock_RealTime () ফাংশন অনুপস্থিত হতে পারে, কোনো অ্যাপ্লিকেশন যে রেফারেন্স এটির জন্য একটি লিংক ত্রুটি দেখার সংখ্যা। অন্যথা, যেমন প্ল্যাটফর্মের একটি বাস্তবায়ন সরবরাহ করতে পারে SetClock_RealTime () যে সবসময় WEAVE_SYSTEM_ERROR_NOT_SUPPORTED ত্রুটি ফেরৎ।

এই ফাংশনটি থ্রেডিংয়ের নিয়োগ করে এমন যে কোনও প্ল্যাটফর্মে থ্রেড-নিরাপদ থাকার গ্যারান্টিযুক্ত।

বিশদ
পরামিতি
[in] newCurTime
নতুন বর্তমান সময়টিকে ইউনিক্স সময় হিসাবে মাইক্রোসেকেন্ডে মাপানো হিসাবে প্রকাশ করা হয়েছে।
রিটার্ন মান
WEAVE_SYSTEM_NO_ERROR
যদি পদ্ধতিটি সফল হয়।
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
প্ল্যাটফর্মটি যদি রিয়েল টাইম ট্র্যাক করতে অক্ষম থাকে।
#WEAVE_SYSTEM_ERROR_ACCESS_DENIED
কলিং অ্যাপ্লিকেশনটিতে বর্তমান সময় নির্ধারণ করার সুযোগ না থাকলে।