Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Timer service requirements

Boost , Boost.Asio , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Служба таймера должна соответствовать требованиям для службы объектов ввода/вывода, а также дополнительным требованиям, перечисленным ниже.

В приведенной ниже таблице<X>обозначает класс обслуживания таймера для типа времени<Time>и типа признаков<TimeTraits>,<a>обозначает значение типа<X>,<b>обозначает значение типа<X::implementation_type>,<t>обозначает значение типа<Time>,<d>обозначает значение типа<TimeTraits::duration_type>,<e>обозначает значение типа<error_code>и<h>обозначает значение, отвечающее требованиям<WaitHandler>.

Table 39. TimerService requirements

выражение

Тип возврата

утверждение/примечание
до/после условия

<a.destroy(b);>

From IoObjectService requirements. Implicitly cancels asynchronous wait operations, as if by calling a.cancel(b, e).

a.cancel(b, e);

size_t

Causes any outstanding asynchronous wait operations to complete as soon as possible. Handlers for cancelled operations shall be passed the error code error::operation_aborted. Sets e to indicate success or failure. Returns the number of operations that were cancelled.

a.expires_at(b);

Time

a.expires_at(b, t, e);

size_t

Implicitly cancels asynchronous wait operations, as if by calling a.cancel(b, e). Returns the number of operations that were cancelled.
post: a.expires_at(b) == t.

a.expires_from_now(b);

TimeTraits::duration_type

Returns a value equivalent to TimeTraits::subtract(a.expires_at(b), TimeTraits::now()).

a.expires_from_now(b, d, e);

size_t

Эквивалентно<a.expires_at(b,TimeTraits::add(TimeTraits::now(),d),e)>

.

<
a.wait(b,e);
>

error_code

Sets e to indicate success or failure. Returns e.
post: !!e || !TimeTraits::lt(TimeTraits::now(), a.expires_at(b)).

a.async_wait(b, h);

Инициирует асинхронную операцию ожидания, которая выполняется через<io_service>объект<a.get_io_service()>и ведет себя в соответствии стребованиями асинхронной операции.

Обработчик должен быть размещен для исполнения только в том случае, если выполняется условие<!!ec|| !TimeTraits::lt(TimeTraits::now(),a.expires_at(b))>, где<ec>является кодом ошибки, который должен быть передан обработчику.



PrevUpHomeNext

Статья Timer service requirements раздела Boost.Asio Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 06:15:48/0.0080559253692627/1