# Replay Detector
[Rampart Utilities]

## Classes
struct | rampart_replay_detector_ops
struct | rampart_replay_detector
## Defines
#define | RAMPART_REPLAY_DETECTOR_IS_REPLAYED(replay_detector, env, msg_ctx, rampart_context) ((replay_detector)->ops->is_replayed(replay_detector, env, msg_ctx, rampart_context))
#define | RAMPART_REPLAY_DETECTOR_FREE(replay_detector, env) ((replay_detector)->ops->free(replay_detector, env))
## Typedefs
typedef struct rampart_replay_detector_ops | rampart_replay_detector_ops_t
typedef struct rampart_replay_detector | rampart_replay_detector_t
## Functions
AXIS2_EXTERN axis2_status_t | rampart_replay_detector_default (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, rampart_context_t *rampart_context, void *user_params)

## Function Documentation

AXIS2_EXTERN axis2_status_t rampart_replay_detector_default | ( | const axutil_env_t * | env,
|  | axis2_msg_ctx_t * | msg_ctx,
|  | rampart_context_t * | rampart_context,
|  | void * | user_params |
| ) |  |  |

A linked list based implementation for replay detection. This doesnt require addressing headers to be present. If the user doesn't give any replay detection function, then this will be used.

Parameters:

  | env | pointer to environment struct,Must not be NULL.
  | msg_ctx | message context structure
  | rampart_context | rampart context structure
  | user_params | parameters given by user. (Not used in this method)

Returns:
  status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error