#ifndef MANAGER_H
#define MANAGER_H

#include <charm++.h>
#include <converse.h>
#include <conv-ccs.h>

extern "C" void CldSetPEBitVector(const char *);

#include "manager.decl.h"

void manager_init(void);

class BitVector: public CMessage_BitVector{
 public:
    int n_elements;
    char *vector;
    int seq_no;
    
    static void *alloc(int mnum, size_t size, int *sizes, int priobits);
    static void *pack(BitVector *bit_vector);
    static BitVector *unpack(void *buf);  
};

class BitVector_handler : public Group{
    char *vector;
    int seq_no;
 public:
    BitVector_handler(void);
    BitVector_handler(CkMigrateMessage *){}
    void update(BitVector *);
};

#endif






