tnt-disseminator

tnt-disseminator —

Synopsis




#define     TNT_DISSEMINATOR                (object)
struct      TntDisseminator;
void        tnt_disseminator_init           (TntDisseminator *disseminator);
TntDisseminator* tnt_disseminator_new       (void);
void        tnt_disseminator_finalize       (FluxObject *disseminator);
gint        tnt_disseminator_get_queue_len  (TntDisseminator *disseminator);
gboolean    tnt_disseminator_enqueue        (TntDisseminator *disseminator,
                                             TntNodeID node_id,
                                             const TntFileID *file_id,
                                             gint block_id);
gboolean    tnt_disseminator_dequeue        (TntDisseminator *disseminator,
                                             TntNodeID *node_id,
                                             TntFileID *file_id,
                                             gint *block_id);
gboolean    tnt_disseminator_peek           (TntDisseminator *disseminator,
                                             TntNodeID *node_id,
                                             TntFileID *file_id,
                                             gint *block_id);
gboolean    tnt_disseminator_find_node      (TntDisseminator *disseminator,
                                             TntNodeID node_id,
                                             TntFileID *file_id,
                                             gint *block_id);
void        tnt_disseminator_block_node     (TntDisseminator *disseminator,
                                             TntNodeID node_id);
void        tnt_disseminator_unblock_node   (TntDisseminator *disseminator,
                                             TntNodeID node_id);

Description

Details

TNT_DISSEMINATOR()

#define TNT_DISSEMINATOR(object) ((TntDisseminator *) object)

object :

struct TntDisseminator

struct TntDisseminator {

  FluxObject         object;

  GList             *queue, *last;
  gint               queue_len;

  GList             *blocked_nodes;
};


tnt_disseminator_init ()

void        tnt_disseminator_init           (TntDisseminator *disseminator);

disseminator :

tnt_disseminator_new ()

TntDisseminator* tnt_disseminator_new       (void);

Returns :

tnt_disseminator_finalize ()

void        tnt_disseminator_finalize       (FluxObject *disseminator);

disseminator :

tnt_disseminator_get_queue_len ()

gint        tnt_disseminator_get_queue_len  (TntDisseminator *disseminator);

disseminator :
Returns :

tnt_disseminator_enqueue ()

gboolean    tnt_disseminator_enqueue        (TntDisseminator *disseminator,
                                             TntNodeID node_id,
                                             const TntFileID *file_id,
                                             gint block_id);

disseminator :
node_id :
file_id :
block_id :
Returns :

tnt_disseminator_dequeue ()

gboolean    tnt_disseminator_dequeue        (TntDisseminator *disseminator,
                                             TntNodeID *node_id,
                                             TntFileID *file_id,
                                             gint *block_id);

disseminator :
node_id :
file_id :
block_id :
Returns :

tnt_disseminator_peek ()

gboolean    tnt_disseminator_peek           (TntDisseminator *disseminator,
                                             TntNodeID *node_id,
                                             TntFileID *file_id,
                                             gint *block_id);

disseminator :
node_id :
file_id :
block_id :
Returns :

tnt_disseminator_find_node ()

gboolean    tnt_disseminator_find_node      (TntDisseminator *disseminator,
                                             TntNodeID node_id,
                                             TntFileID *file_id,
                                             gint *block_id);

disseminator :
node_id :
file_id :
block_id :
Returns :

tnt_disseminator_block_node ()

void        tnt_disseminator_block_node     (TntDisseminator *disseminator,
                                             TntNodeID node_id);

disseminator :
node_id :

tnt_disseminator_unblock_node ()

void        tnt_disseminator_unblock_node   (TntDisseminator *disseminator,
                                             TntNodeID node_id);

disseminator :
node_id :