diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2008-06-09 12:40:54 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2008-06-09 12:40:54 +0200 |
commit | 55e01da2ec3de1b5c6b15e4154235f0eedbb68da (patch) | |
tree | fe7b9b9b114c982d1453a363499bad9fa323fd1a /runtime/nsd.h | |
parent | cf51333f7617e586ca1d4cf5202e3d42f14c96ea (diff) | |
download | rsyslog-55e01da2ec3de1b5c6b15e4154235f0eedbb68da.tar.gz rsyslog-55e01da2ec3de1b5c6b15e4154235f0eedbb68da.tar.bz2 rsyslog-55e01da2ec3de1b5c6b15e4154235f0eedbb68da.zip |
somewhat improved plain tcp syslog reliability
...by doing a connection check before sending. Credits to Martin
Schuette for providing the idea. Details are available at
http://blog.gerhards.net/2008/06/reliable-plain-tcp-syslog-once-again.html
Diffstat (limited to 'runtime/nsd.h')
-rw-r--r-- | runtime/nsd.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/nsd.h b/runtime/nsd.h index 53693b59..1811f078 100644 --- a/runtime/nsd.h +++ b/runtime/nsd.h @@ -53,6 +53,7 @@ BEGINinterface(nsd) /* name must also be changed in ENDinterface macro! */ rsRetVal (*SetMode)(nsd_t *pThis, int mode); /* sets a driver specific mode - see driver doc for details */ rsRetVal (*SetAuthMode)(nsd_t *pThis, uchar*); /* sets a driver specific mode - see driver doc for details */ rsRetVal (*SetPermPeers)(nsd_t *pThis, permittedPeers_t*); /* sets driver permitted peers for auth needs */ + void (*CheckConnection)(nsd_t *pThis); /* This is a trick mostly for plain tcp syslog */ rsRetVal (*GetSock)(nsd_t *pThis, int *pSock); rsRetVal (*SetSock)(nsd_t *pThis, int sock); /* GetSock() and SetSock() return an error if the driver does not use plain @@ -60,7 +61,7 @@ BEGINinterface(nsd) /* name must also be changed in ENDinterface macro! */ * those drivers that utilize the nsd_ptcp to do some of their work. */ ENDinterface(nsd) -#define nsdCURR_IF_VERSION 2 /* increment whenever you change the interface structure! */ +#define nsdCURR_IF_VERSION 3 /* increment whenever you change the interface structure! */ /* interface for the select call */ BEGINinterface(nsdsel) /* name must also be changed in ENDinterface macro! */ |