The Assimilation Project  based on Assimilation version
hblistener.h File Reference

Defines Heartbeat Listener interfaces. More...

#include <projectcommon.h>
#include <netaddr.h>
#include <netgsource.h>
#include <listener.h>
Include dependency graph for hblistener.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _HbListener
 This is the base HbListener class. object - which listens for heartbeats from a particular sender. More...


typedef struct _HbListener HbListener


enum  HbNodeStatus { HbPacketsBeingReceived = 1, HbPacketsTimedOut = 2 }
WINEXPORT HbListenerhblistener_new (NetAddr *, ConfigContext *config, gsize hblisten_objsize)
 Construct a new HbListener - setting up GSource and timeout data structures for it. More...
WINEXPORT void hblistener_unlisten (NetAddr *unlistenaddr)
 Stop expecting (listening for) heartbeats from a particular address. More...
WINEXPORT void hblistener_set_martian_callback (void(*)(NetAddr *who))
 Call to set a callback to be called when an unrecognized node sends us a heartbeat. More...
WINEXPORT HbListenerhblistener_find_by_address (const NetAddr *which)
 Find the listener that's listening to a particular address. More...
WINEXPORT void hblistener_shutdown (void)
 Shuts down all our hblisteners... More...

Detailed Description

Defines Heartbeat Listener interfaces.

This file defines interfaces for the Heartbeat Listener class. It listens for heartbeats from designated senders - allowing them to be added and dropped at run time.

This file is part of the Assimilation Project.

Copyright © 2011, 2012 - Alan Robertson
The Assimilation software is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Assimilation software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the Assimilation Project software. If not, see

Definition in file hblistener.h.

Macro Definition Documentation


Definition at line 65 of file hblistener.h.

Referenced by hblistener_new().

Typedef Documentation

typedef struct _HbListener HbListener

Definition at line 32 of file hblistener.h.

Enumeration Type Documentation


Definition at line 34 of file hblistener.h.