7.2.1. Queues And Messages

Implementace je zalozena na posilani zprav mezi procesy skrz fronty. V systemu jsou krom procesu spravci front, k tem se proces musi nejdriv pripojit volanim MQCONN (in QMName, out CHandle), na konci odpojit volanim MQDISC (in Handle). Pak se otevre prislusna fronta zprav volanim MQOPEN (in CHandle, inout Descriptor, out OHandle), deskriptor obsahuje hlavne jmeno fronty, na konci se zavre volanim MQCLOSE (in CHandle, in OHandle).

Do otevrene fronty je mozne zapisovat zpravy volanim MQPUT (in CHandle, in OHandle, inout Descriptor, inout Options, in Buffer, in Length).

Z otevrene fronty je mozne cist zpravy volanim MQGET (in CHandle, in OHandle, inout Descriptor, inout Options, in Length, inout Buffer).

Volani prijme prvni zpravu podle priority pouze pokud deskriptor obsahuje unique ID MQMI_NONE a correlation ID MQCI_NONE. Jinak se daji vyplnit a pak se prijme prvni zprava, ktera takove ID ma. Podle options je volani blokujici nebo s timeoutem, orezavajici prilis dlouhe zpravy nebo vracejici chybu. Uvnitr options se da take pozadat o asynchronni prijem, potom se MQGET vrati hned a program dostane pozdeji signal.

Deskriptor obsahuje typ zpravy (datagram, request, reply, report), lifetime, kodovani (numeric, charset), format (string kteremu rozumi prijemce), prioritu (cislo), persistenci (flag), unique ID a correlation ID, frontu kam odpovedet, identifikaci odesilajici aplikace a uzivatele.