*/
if ( ev->any.type != EDG_WLL_EVENT_REGJOB
&& edg_wll_EventSendProxy(ctx, ev->any.jobId, event) ) goto err;
+
+ /* LB proxy purge
+ * XXX: Set propper set of states!
+ * TODO: Do the set of states configurable?
+ */
+ switch ( ev->any.type ) {
+ case EDG_WLL_EVENT_CLEAR:
+ case EDG_WLL_EVENT_ABORT:
+ case EDG_WLL_EVENT_CANCEL:
+ case EDG_WLL_EVENT_DONE:
+ edg_wll_PurgeServerProxy(ctx, ev->any.jobId);
+ break;
+ }
} else if ( newstat.state ) {
edg_wll_NotifMatch(ctx, &newstat);
edg_wll_FreeStatus(&newstat);
const edg_wll_PurgeRequest *request
);
+/** LB Proxy purge implementation
+ * it gives no output - purge only one job from LB Proxy DB
+ */
+int edg_wll_PurgeServerProxy(
+ edg_wll_Context ctx,
+ edg_wlc_JobId job
+);
+
#define FILE_TYPE_ANY ""
#define FILE_TYPE_PURGE "purge"
#define FILE_TYPE_DUMP "dump"
return retfd;
}
+int edg_wll_PurgeServerProxy(edg_wll_Context ctx, edg_wlc_JobId job)
+{
+ switch ( purge_one(ctx, job, -1, 1) ) {
+ case 0:
+ case ENOENT:
+ edg_wll_ResetError(ctx);
+ return 0;
+
+ default:
+ return -1;
+ }
+}
+
int edg_wll_PurgeServer(edg_wll_Context ctx,const edg_wll_PurgeRequest *request)
{
int i,parse = 0,dumpfile = -1;