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

Implements the resource queue class. More...

#include <projectcommon.h>
#include <assimobj.h>
#include <configcontext.h>
#include <resourcecmd.h>
Include dependency graph for resourcequeue.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _ResourceQueue
typedef struct _ResourceQueue ResourceQueue
WINEXPORT ResourceQueueresourcequeue_new (guint structsize)
 Construct a new ResourceQueue system (you probably only need one) More...

Detailed Description

Implements the resource queue class.

Creates an queue object managing resource objects.

Alan Robertson - Copyright © 2013 - Assimilation Systems Limited
This file is part of the Assimilation Project. 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 resourcequeue.h.

Typedef Documentation

typedef struct _ResourceQueue ResourceQueue

This is the Queue object for creating and managing ResourceCmd class objects.

We are given constructor parameters to Resource objects, and then we create queues for managing work for that particular resource name, and then we execute the requested operations on the resources as we are able. We never execute a resource action until the previous resource action on the the same resource name completes or times out. Note that resource actions are performed asynchronously. The request can contain a repeat interval in it. Repeated requests are performed every "n" seconds - but that actually means it is "n" seconds after the operation completes before it is queued to run again. So if it takes 5 seconds to run and has a 5 second repeat interval, it will actually run every 10 seconds.

Definition at line 44 of file resourcequeue.h.

Function Documentation

WINEXPORT ResourceQueue* resourcequeue_new ( guint  structsize)