![]() If interval is 10, the timer will expire (call handler callback) after 10 milli seconds. interval: Timeout interval in milli seconds.The returned timer id would be used to stop the timer. ![]() start_timer(): Creates a timer and return the id of the timer.This function will be called only once even if you create multiple timers. The user of this timer library has to call this function once before using any other function. initialize(): Initializes of the library.Here are the functions offered by this library. Size_t start_timer(unsigned int interval, time_handler handler, t_timer type, void * user_data) Typedef void (*time_handler)(size_t timer_id, void * user_data) TIMER_SINGLE_SHOT = 0, /*Periodic Timer*/ Let’s start with the interface the library will provide – the header file with functions and data structures. This library will allow to create multiple timers – periodic or single shot. Here we’ll implement our own C timer library using C on Linux. Single shot timer helps in this situation. If the response does not come within some specified time, we might want to do some cleanup. But we don’t want to wait for infinite time. For example, in network programming, we send something to the peer and expect a response from the other end. Sometimes, the work might not be repetitive but you want to take action after some time. It is better that someone else (other thread) keeps track of the time and wake you up when the time interval ends. In many situations, this is not acceptable. Problem with this solution is that the sleep() function will block and you’ll not be able to do other things while waiting. The sleep() function can wait for the time interval and then we can call a function to do the work. We can think of a simple solution of having a loop with a sleep() in between. ![]() As a programmer we often need to do some task repeatedly with some time interval.
0 Comments
Leave a Reply. |