1 /* 2 * Copyright (C) 2009 Codership Oy <info@codership.com> 3 * 4 * $Id$ 5 */ 6 7 /*! 8 * @file order.hpp 9 * 10 * @brief Message order type enumeration. 11 */ 12 13 #ifndef GCOMM_ORDER_HPP 14 #define GCOMM_ORDER_HPP 15 16 namespace gcomm 17 { 18 /*! 19 * @brief Message order type enumeration. 20 */ 21 enum Order 22 { 23 /*! Message will not be delivered, for protocol use only. */ 24 O_DROP = 0, 25 /*! Message delivery is unreliable, for protocol use only. */ 26 O_UNRELIABLE = 1, 27 /*! Message will be delivered in source fifo order. */ 28 O_FIFO = 2, 29 /*! 30 * Message will be delivered in same order on all nodes 31 * if it is delivered. 32 */ 33 O_AGREED = 3, 34 /*! 35 * Message will be delivered in safe order, it is guaranteed 36 * that all the nodes in group have received the message. 37 */ 38 O_SAFE = 4, 39 40 /*! 41 * Message will be delivered only locally and delivery will fulfill the 42 * following property: 43 * 44 * Let M_c be message tagged with O_LOCAL_CAUSAL ordering requirement. 45 * Any message M_a which is delivered on any node so that delivery 46 * has causal precedence on generating M_c will be delivered locally 47 * before M_c. 48 * 49 * Note that the causality is guaranteed only with respect to 50 * already delivered messages. 51 */ 52 O_LOCAL_CAUSAL = 8 53 }; 54 } 55 56 #endif // GCOMM_ORDER_HPP 57