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

Class template message_queue_t

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Indexes and 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

Class template message_queue_t

boost::interprocess::message_queue_t

Synopsis

// In header: <boost/interprocess/ipc/message_queue.hpp>
template<typename VoidPointer> 
class message_queue_t {
public:
  // types
  typedef VoidPointer                                                                             void_pointer;   
  typedef boost::intrusive::pointer_traits< void_pointer >::template rebind_pointer< char >::type char_ptr;       
  typedef boost::intrusive::pointer_traits< char_ptr >::difference_type                           difference_type;
  typedef unspecified                                                                             size_type;      
  // construct/copy/destruct
  message_queue_t(create_only_t, const char *, size_type, size_type, 
                  const permissions & = permissions());
  message_queue_t(open_or_create_t, const char *, size_type, size_type, 
                  const permissions & = permissions());
  message_queue_t(open_only_t, const char *);
  ~message_queue_t();
  // public member functions
  void send(const void *, size_type, unsigned int);
  bool try_send(const void *, size_type, unsigned int);
  bool timed_send(const void *, size_type, unsigned int, 
                  const boost::posix_time::ptime &);
  void receive(void *, size_type, size_type &, unsigned int &);
  bool try_receive(void *, size_type, size_type &, unsigned int &);
  bool timed_receive(void *, size_type, size_type &, unsigned int &, 
                     const boost::posix_time::ptime &);
  size_type get_max_msg() const;
  size_type get_max_msg_size() const;
  size_type get_num_msg() const;
  // public static functions
  static bool remove(const char *);
};

Description

Класс, который позволяет отправлять сообщения между процессами.

message_queue_t public construct/copy/destruct

  1. message_queue_t(create_only_t create_only,charимя , size_type max_num_msg, size_type max_msg_size, const & perm

    Создает процесс совместно используемой очереди сообщений с именем "имя". Для этой очереди сообщений максимальное количество сообщений будет «max_num_msg», а максимальный размер сообщения будет «max_msg_size». Бросает на ошибку и если очередь была создана ранее.

  2. message_queue_t(open_or_create_t open_or_create,charимя, size_type max_num_msg, size_type max_msg_size, const & permОткрывает или создает процесс совместно используемой очереди сообщений с именем "имя". При создании очереди максимальное количество сообщений будет «max_num_msg», а максимальный размер сообщения — «max_msg_size». Если ранее была создана очередь, то будет открыта очередь и проигнорированы параметры «max_num_msg» и «max_msg_size». Бросает на ошибку. 

  3. message_queue_t(open_only_t open_only,constcharимя;

    Открывает ранее созданный процесс совместно используемой очереди сообщений с именем "имя". Если очередь ранее не создавалась или свободных ресурсов нет, бросает ошибка.

  4. ~message_queue_t();

    Уничтожает это и указывает, что процесс вызова завершается с использованием ресурса. Все открытые очереди сообщений остаются действительными после уничтожения. Функция разрушителя будет распределять любые системные ресурсы, выделенные системой для использования этим процессом для этого ресурса. Ресурс еще можно открыть, назвав открытую конструкторскую перегрузку. Чтобы стереть очередь сообщений из системы, используйте удалите ().

message_queue_t public member functions

  1. voidsend(const  , size_type buffer_size, unsignedint priority)

    Отправляет сообщение, хранящееся в буфере "буфер" с размером "буфер_size" в очереди сообщений с приоритетом "приоритет". Если очередь сообщений заполнена, отправитель блокируется. Выбрасывает ошибку interprocess_error.

  2. booltry_send(const void, size_type buffer_size, unsignedint priority)

    Отправляет сообщение, хранящееся в буфере "буфер" с размером "буфер_size" через очередь сообщений с приоритетом "приоритет". Если очередь сообщений заполнена, отправитель не блокируется и возвращается ложным, в противном случае возвращается истинным. Выбрасывает ошибку interprocess_error.

  3. booltimed_sendvoidbuffer_size,buffer_size,unsignedint priority,constboost::posix_time&abs_time;

    Отправляет сообщение, хранящееся в буфере "буфер" с размером "буфер_size" в очереди сообщений с приоритетом "приоритет". Если очередь сообщений заполнена, отправитель запрашивает до тех пор, пока не будет достигнуто время «abs_time». Возвращается, если сообщение было успешно отправлено. Возвращается ложно, если тайм-аут достигнут. Выбрасывает ошибку interprocess_error.

  4. voidreceivebuffer_size, size_type, size_type & recvd_size,unsigned&;

    Получает сообщение из очереди сообщений. Сообщение хранится в буфере «buffer», который имеет размер «buffer_size». Полученное сообщение имеет размер «recvd_size» и приоритет «приоритет». Если очередь сообщений пуста, приемник блокируется. Выбрасывает ошибку interprocess_error.

  5. booltry_receive(buffer, size_size, size_type & recvd_size,unsigned&приоритет;;

    Получает сообщение из очереди сообщений. Сообщение хранится в буфере «buffer», который имеет размер «buffer_size». Полученное сообщение имеет размер «recvd_size» и приоритет «приоритет». Если очередь сообщения пуста, приемник не блокируется и возвращается ложным, в противном случае возвращается истинным. Выбрасывает ошибку interprocess_error.

  6. bool size_type, size_type, size_type, recvd_size, unsigned int& Priority, constboost::posix_timeptime;

    Получает сообщение из очереди сообщений. Сообщение хранится в буфере «buffer», который имеет размер «buffer_size». Полученное сообщение имеет размер «recvd_size» и приоритет «приоритет». Если очередь сообщения пуста, приемник запрашивает до тех пор, пока не будет достигнуто время «abs_time». Возвращается, если сообщение было успешно отправлено. Возвращается ложно, если тайм-аут достигнут. Выбрасывает ошибку interprocess_error.

  7. size_type get_max_msg() const;

    Возвращает максимальное количество сообщений, разрешенное очередью. Очередь сообщений должна быть открыта или создана ранее. В противном случае возврат Никогда не бросайте

  8. size_type get_max_msg_size() const;

    Возвращает максимальный размер сообщения, разрешенный очередью. Очередь сообщений должна быть открыта или создана ранее. В противном случае возврат Никогда не бросайте

  9. size_type get_num_msg() const;

    Возвращает количество сообщений, хранящихся в настоящее время. Никогда не бросайте 17

message_queue_t public static functions

  1. static boolremove(constchar name);

    Удалите из системы очередь сообщений. Возврат ложных ошибок. Никогда не бросайте 23


PrevUpHomeNext

Статья Class template message_queue_t раздела The Boost C++ Libraries BoostBook Documentation Subset Indexes and Reference может быть полезна для разработчиков на c++ и boost.




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 22:05:19/0.0075321197509766/0