VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /etc/alternatives/mpi/openmpi/ompi/class/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //etc/alternatives/mpi/openmpi/ompi/class/ompi_seq_tracker.h
/*
 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
 *                         University Research and Technology
 *                         Corporation.  All rights reserved.
 * Copyright (c) 2004-2006 The University of Tennessee and The University
 *                         of Tennessee Research Foundation.  All rights
 *                         reserved.
 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
 *                         University of Stuttgart.  All rights reserved.
 * Copyright (c) 2004-2005 The Regents of the University of California.
 *                         All rights reserved.
 * $COPYRIGHT$
 *
 * Additional copyrights may follow
 *
 * $HEADER$
 */

#ifndef OMPI_SEQ_TRACKER_H
#define OMPI_SEQ_TRACKER_H

#include "ompi_config.h"
#include "opal/class/opal_list.h"
#include "ompi/constants.h"

BEGIN_C_DECLS

struct ompi_seq_tracker_range_t{
    opal_list_item_t super;
    uint32_t seq_id_high;
    uint32_t seq_id_low;
};
typedef struct ompi_seq_tracker_range_t ompi_seq_tracker_range_t;

OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_seq_tracker_range_t);

struct ompi_seq_tracker_t{
    opal_list_t seq_ids;         /**< list of seqs id's that have been seen */
    ompi_seq_tracker_range_t* seq_ids_current; /**< a pointer to the last place we were in the list */

};
typedef struct ompi_seq_tracker_t ompi_seq_tracker_t;

OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_seq_tracker_t);


/**
 *  Look for duplicate sequence number in current range.
 *  Must be called w/ matching lock held.
 */

OMPI_DECLSPEC bool ompi_seq_tracker_check_duplicate(
    ompi_seq_tracker_t* seq_tracker,
    uint32_t seq_id);


/*
 * insert item into sequence tracking list,
 *   compacts continuous regions into a single entry
 */
OMPI_DECLSPEC void ompi_seq_tracker_insert(ompi_seq_tracker_t* seq_tracker, uint32_t seq_i);

/*
 * Copy state from one sequence tracker list into another.
 */
OMPI_DECLSPEC void ompi_seq_tracker_copy(ompi_seq_tracker_t* dst, ompi_seq_tracker_t* src);

END_C_DECLS
#endif


VaKeR 2022