00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef SANDESHA2_ACK_MGR_H
00018 #define SANDESHA2_ACK_MGR_H
00019
00024 #include <axutil_utils_defines.h>
00025 #include <axutil_env.h>
00026 #include <sandesha2_storage_mgr.h>
00027 #include <sandesha2_msg_ctx.h>
00028
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033
00034 struct sandesha2_seq_property_mgr;
00040 AXIS2_EXTERN sandesha2_msg_ctx_t *AXIS2_CALL
00041 sandesha2_ack_mgr_generate_ack_msg(const axutil_env_t *env,
00042 sandesha2_msg_ctx_t *ref_rm_msg,
00043 axis2_char_t *seq_id,
00044 sandesha2_storage_mgr_t *storage_mgr);
00045
00054 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00055 sandesha2_ack_mgr_get_client_completed_msgs_list(
00056 const axutil_env_t *env,
00057 axis2_char_t *seq_id,
00058 struct sandesha2_seq_property_mgr *seq_prop_mgr);
00059
00060 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00061 sandesha2_ack_mgr_get_svr_completed_msgs_list(
00062 const axutil_env_t *env,
00063 axis2_char_t *seq_id,
00064 struct sandesha2_seq_property_mgr *seq_prop_mgr);
00065
00066 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00067 sandesha2_ack_mgr_verify_seq_completion(
00068 const axutil_env_t *env,
00069 axutil_array_list_t *ack_ranges,
00070 long last_msg_no);
00071
00072 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00073 sandesha2_ack_mgr_piggyback_acks_if_present(
00074 const axutil_env_t *env,
00075 sandesha2_msg_ctx_t *rm_msg_ctx,
00076 sandesha2_storage_mgr_t *storage_mgr);
00077
00079 #ifdef __cplusplus
00080 }
00081 #endif
00082
00083 #endif
00084