00001 #ifndef __EDG_WORKLOAD_LOGGING_CLIENT_NOTIFICATION_H__
00002 #define __EDG_WORKLOAD_LOGGING_CLIENT_NOTIFICATION_H__
00003
00004 #ident "$Header: /cvs/glite/org.glite.lb.client-interface/interface/Attic/notification.h,v 1.4 2005/08/03 09:30:10 akrenek Exp $"
00005
00006 #include "glite/wmsutils/jobid/cjobid.h"
00007 #include "glite/lb/notifid.h"
00008 #include "glite/lb/context.h"
00009 #include "glite/lb/consumer.h"
00010
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif
00014
00024 #define EDG_WLL_NOTIF_TIMEOUT_DEFAULT 120
00025 #define EDG_WLL_NOTIF_TIMEOUT_MAX 1800
00026
00027
00049 int edg_wll_NotifNew(
00050 edg_wll_Context context,
00051 edg_wll_QueryRec const * const *conditions,
00052 int fd,
00053 const char *address_override,
00054 edg_wll_NotifId *id_out,
00055 time_t *valid
00056 );
00057
00058
00069 int edg_wll_NotifBind(
00070 edg_wll_Context context,
00071 const edg_wll_NotifId id,
00072 int fd,
00073 const char *address_override,
00074 time_t *valid
00075 );
00076
00077 typedef enum _edg_wll_NotifChangeOp {
00079 EDG_WLL_NOTIF_NOOP = 0,
00081 EDG_WLL_NOTIF_REPLACE,
00083 EDG_WLL_NOTIF_ADD,
00085 EDG_WLL_NOTIF_REMOVE
00086
00087 } edg_wll_NotifChangeOp;
00088
00101 int edg_wll_NotifChange(
00102 edg_wll_Context context,
00103 const edg_wll_NotifId id,
00104 edg_wll_QueryRec const * const * conditions,
00105 edg_wll_NotifChangeOp op
00106 );
00107
00115 int edg_wll_NotifRefresh(
00116 edg_wll_Context context,
00117 const edg_wll_NotifId id,
00118 time_t *valid
00119 );
00120
00128 int edg_wll_NotifDrop(
00129 edg_wll_Context context,
00130 edg_wll_NotifId *id
00131 );
00132
00145 int edg_wll_NotifReceive(
00146 edg_wll_Context context,
00147 int fd,
00148 const struct timeval *timeout,
00149 edg_wll_JobStat *state_out,
00150 edg_wll_NotifId *id_out
00151 );
00152
00153
00164 int edg_wll_NotifGetFd(
00165 edg_wll_Context context
00166 );
00167
00174 int edg_wll_NotifCloseFd(
00175 edg_wll_Context context
00176 );
00177
00178
00179
00180
00181
00182 #ifdef __cplusplus
00183 }
00184 #endif
00185
00186 #endif