activemq-cpp-3.9.5
DedicatedTaskRunner.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _ACTIVEMQ_THREADS_DEDICATEDTASKRUNNER_H_
19#define _ACTIVEMQ_THREADS_DEDICATEDTASKRUNNER_H_
20
24
25#include <decaf/lang/Thread.h>
26#include <decaf/lang/Runnable.h>
28#include <decaf/lang/Pointer.h>
29
30namespace activemq {
31namespace threads {
32
33 class AMQCPP_API DedicatedTaskRunner : public TaskRunner,
35 private:
36
39
40 bool threadTerminated;
41 bool pending;
42 bool shutDown;
43 Task* task;
44
45 private:
46
47 DedicatedTaskRunner(const DedicatedTaskRunner&);
48 DedicatedTaskRunner& operator=(const DedicatedTaskRunner&);
49
50 public:
51
54
55 virtual void start();
56
57 virtual bool isStarted() const;
58
65 virtual void shutdown(long long timeout);
66
70 virtual void shutdown();
71
77 virtual void wakeup();
78
79 protected:
80
81 virtual void run();
82
83 };
84
85}}
86
87#endif /*_ACTIVEMQ_THREADS_DEDICATEDTASKRUNNER_H_*/
#define AMQCPP_API
Definition Config.h:30
virtual void shutdown(long long timeout)
Shutdown after a timeout, does not guarantee that the task's iterate method has completed and the thr...
virtual void run()
Run method - called by the Thread class in the context of the thread.
virtual void wakeup()
Signal the TaskRunner to wakeup and execute another iteration cycle on the task, the Task instance wi...
virtual void shutdown()
Shutdown once the task has finished and the TaskRunner's thread has exited.
virtual void start()
Starts the task runner.
Represents a unit of work that requires one or more iterations to complete.
Definition Task.h:31
Definition TaskRunner.h:27
Decaf's implementation of a Smart Pointer that is a template on a Type and is Thread Safe if the defa...
Definition Pointer.h:53
Interface for a runnable object - defines a task that can be run by a thread.
Definition Runnable.h:29
Mutex object that offers recursive support on all platforms as well as providing the ability to use t...
Definition Mutex.h:39
Definition CompositeTask.h:25
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition CachedConsumer.h:24