The Assimilation Project
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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...
 

Typedefs

typedef struct _HbListener HbListener
 

Enumerations

enum  HbNodeStatus { HbPacketsBeingReceived = 1, HbPacketsTimedOut = 2 }
 
#define DEFAULT_DEADTIME   60
 
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.

Author
Copyright © 2011, 2012 - Alan Robertson alanr.nosp@m.@uni.nosp@m.x.sh
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 http://www.gnu.org/licenses/

Definition in file hblistener.h.

Macro Definition Documentation

#define DEFAULT_DEADTIME   60

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

Enumerator
HbPacketsBeingReceived 
HbPacketsTimedOut 

Definition at line 34 of file hblistener.h.