In telecommunications and related engineering (including computer networking and programming), the term timeout or time-out has several meanings, including:
- A network parameter related to an enforced event designed to occur at the conclusion of a predetermined elapsed time.
- A specified period of time that will be allowed to elapse in a system before a specified event is to take place, unless another specified event occurs first; in either case, the period is terminated when either event takes place. Note: A timeout condition can be canceled by the receipt of an appropriate time-out cancellation signal.
- An event that occurs at the end of a predetermined period of time that began at the occurrence of another specified event. The timeout can be prevented by an appropriate signal.
This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. (January 2019) |
Timeouts allow for more efficient usage of limited resources without requiring additional interaction from the agent interested in the goods that cause the consumption of these resources. The basic idea is that in situations where a system must wait for something to happen, rather than waiting indefinitely, the waiting will be aborted after the timeout period has elapsed. This is based on the assumption that further waiting is useless, and some other action is necessary.
Challenges
Balancing timeout values in distributed systems and microservices can be tricky: short timeout values can fail healthy requests prematurely, leading to complex workarounds, while long timeout values can result in slow error responses and poor user experiences. The circuit breaker design pattern can be a better alternative, as it can monitor service health, detect failures dynamically and faster, and improve the user experience.[1]
Examples
Developer(s) | Microsoft, ReactOS Contributors |
---|---|
Operating system | Windows, ReactOS |
Type | Command |
License | Windows: Proprietary commercial software ReactOS: GNU General Public License |
Website | docs |
Specific examples include:
- In the Microsoft Windows and ReactOS[2] command-line interfaces, the
timeout
command pauses the command processor for the specified number of seconds.[3][4] - In POP connections, the server will usually close a client connection after a certain period of inactivity (the timeout period). This ensures that connections do not persist forever, if the client crashes or the network goes down. Open connections consume resources, and may prevent other clients from accessing the same mailbox.
- In HTTP persistent connections, the web server saves opened connections (which consume CPU time and memory). The web client does not have to send an "end of requests series" signal. Connections are closed (timed out) after five minutes of inactivity; this ensures that the connections do not persist indefinitely.
- In a timed light switch, both energy and lamp's life-span are saved. The user does not have to switch off manually.
- Tablet computers and smartphones commonly turn off their backlight after a certain time without user input.
See also
References
Further reading
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.