How the agent framework interacts with entry points

The agent framework ensures that only one entry point is running for a given resource at one time. If multiple requests are received or multiple events are scheduled for the same resource, the agent queues them and processes them one at a time. An exception to this behavior is an optimization such that the agent framework discards internally generated periodic monitoring requests for a resource that is already being monitored or that has a monitor request as the last request in resource command queue.

The agent framework is multithreaded. This means a single agent process can run entry points for multiple resources simultaneously. However, if an agent receives a request to take a given resource offline and simultaneously receives a request to close it, it calls the offline entry point first. The close entry point is called only after the offline request returns or times out. If the offline request is received for one resource, and the close request is received for another, the agent can call both simultaneously.

The entry points supported by agent framework are described in the following sections. With the exception of monitor, other entry points are optional. Each may be implemented in C++ or scripts.