aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Foundation/include/Poco/ActiveDispatcher.h
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:44:49 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:49 +0300
commit718c552901d703c502ccbefdfc3c9028d608b947 (patch)
tree46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/Foundation/include/Poco/ActiveDispatcher.h
parente9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff)
downloadydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/ActiveDispatcher.h')
-rw-r--r--contrib/libs/poco/Foundation/include/Poco/ActiveDispatcher.h230
1 files changed, 115 insertions, 115 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/ActiveDispatcher.h b/contrib/libs/poco/Foundation/include/Poco/ActiveDispatcher.h
index 7550a2deae..71b4b70fc2 100644
--- a/contrib/libs/poco/Foundation/include/Poco/ActiveDispatcher.h
+++ b/contrib/libs/poco/Foundation/include/Poco/ActiveDispatcher.h
@@ -1,116 +1,116 @@
-//
-// ActiveDispatcher.h
-//
-// Library: Foundation
-// Package: Threading
-// Module: ActiveObjects
-//
-// Definition of the ActiveDispatcher class.
-//
-// Copyright (c) 2006-2007, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#ifndef Foundation_ActiveDispatcher_INCLUDED
-#define Foundation_ActiveDispatcher_INCLUDED
-
-
-#include "Poco/Foundation.h"
-#include "Poco/Runnable.h"
-#include "Poco/Thread.h"
-#include "Poco/ActiveStarter.h"
-#include "Poco/ActiveRunnable.h"
-#include "Poco/NotificationQueue.h"
-
-
-namespace Poco {
-
-
-class Foundation_API ActiveDispatcher: protected Runnable
- /// This class is used to implement an active object
- /// with strictly serialized method execution.
- ///
- /// An active object, which is an ordinary object
- /// containing ActiveMethod members, executes all
- /// active methods in their own thread.
- /// This behavior does not fit the "classic"
- /// definition of an active object, which serializes
- /// the execution of active methods (in other words,
- /// only one active method can be running at any given
- /// time).
- ///
- /// Using this class as a base class, the serializing
- /// behavior for active objects can be implemented.
+//
+// ActiveDispatcher.h
+//
+// Library: Foundation
+// Package: Threading
+// Module: ActiveObjects
+//
+// Definition of the ActiveDispatcher class.
+//
+// Copyright (c) 2006-2007, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#ifndef Foundation_ActiveDispatcher_INCLUDED
+#define Foundation_ActiveDispatcher_INCLUDED
+
+
+#include "Poco/Foundation.h"
+#include "Poco/Runnable.h"
+#include "Poco/Thread.h"
+#include "Poco/ActiveStarter.h"
+#include "Poco/ActiveRunnable.h"
+#include "Poco/NotificationQueue.h"
+
+
+namespace Poco {
+
+
+class Foundation_API ActiveDispatcher: protected Runnable
+ /// This class is used to implement an active object
+ /// with strictly serialized method execution.
///
- /// The following example shows how this is done:
- ///
- /// class ActiveObject: public ActiveDispatcher
- /// {
- /// public:
- /// ActiveObject():
- /// exampleActiveMethod(this, &ActiveObject::exampleActiveMethodImpl)
- /// {
- /// }
- ///
- /// ActiveMethod<std::string, std::string, ActiveObject, ActiveStarter<ActiveDispatcher> > exampleActiveMethod;
- ///
- /// protected:
- /// std::string exampleActiveMethodImpl(const std::string& arg)
- /// {
- /// ...
- /// }
- /// };
- ///
- /// The only things different from the example in
- /// ActiveMethod is that the ActiveObject in this case
- /// inherits from ActiveDispatcher, and that the ActiveMethod
- /// template for exampleActiveMethod has an additional parameter,
- /// specifying the specialized ActiveStarter for ActiveDispatcher.
-{
-public:
- ActiveDispatcher();
- /// Creates the ActiveDispatcher.
-
- ActiveDispatcher(Thread::Priority prio);
- /// Creates the ActiveDispatcher and sets
- /// the priority of its thread.
-
- virtual ~ActiveDispatcher();
- /// Destroys the ActiveDispatcher.
-
- void start(ActiveRunnableBase::Ptr pRunnable);
- /// Adds the Runnable to the dispatch queue.
-
- void cancel();
- /// Cancels all queued methods.
-
-protected:
- void run();
- void stop();
-
-private:
- Thread _thread;
- NotificationQueue _queue;
-};
-
-
-template <>
-class ActiveStarter<ActiveDispatcher>
- /// A specialization of ActiveStarter
- /// for ActiveDispatcher.
-{
-public:
- static void start(ActiveDispatcher* pOwner, ActiveRunnableBase::Ptr pRunnable)
- {
- pOwner->start(pRunnable);
- }
-};
-
-
-} // namespace Poco
-
-
-#endif // Foundation_ActiveDispatcher_INCLUDED
+ /// An active object, which is an ordinary object
+ /// containing ActiveMethod members, executes all
+ /// active methods in their own thread.
+ /// This behavior does not fit the "classic"
+ /// definition of an active object, which serializes
+ /// the execution of active methods (in other words,
+ /// only one active method can be running at any given
+ /// time).
+ ///
+ /// Using this class as a base class, the serializing
+ /// behavior for active objects can be implemented.
+ ///
+ /// The following example shows how this is done:
+ ///
+ /// class ActiveObject: public ActiveDispatcher
+ /// {
+ /// public:
+ /// ActiveObject():
+ /// exampleActiveMethod(this, &ActiveObject::exampleActiveMethodImpl)
+ /// {
+ /// }
+ ///
+ /// ActiveMethod<std::string, std::string, ActiveObject, ActiveStarter<ActiveDispatcher> > exampleActiveMethod;
+ ///
+ /// protected:
+ /// std::string exampleActiveMethodImpl(const std::string& arg)
+ /// {
+ /// ...
+ /// }
+ /// };
+ ///
+ /// The only things different from the example in
+ /// ActiveMethod is that the ActiveObject in this case
+ /// inherits from ActiveDispatcher, and that the ActiveMethod
+ /// template for exampleActiveMethod has an additional parameter,
+ /// specifying the specialized ActiveStarter for ActiveDispatcher.
+{
+public:
+ ActiveDispatcher();
+ /// Creates the ActiveDispatcher.
+
+ ActiveDispatcher(Thread::Priority prio);
+ /// Creates the ActiveDispatcher and sets
+ /// the priority of its thread.
+
+ virtual ~ActiveDispatcher();
+ /// Destroys the ActiveDispatcher.
+
+ void start(ActiveRunnableBase::Ptr pRunnable);
+ /// Adds the Runnable to the dispatch queue.
+
+ void cancel();
+ /// Cancels all queued methods.
+
+protected:
+ void run();
+ void stop();
+
+private:
+ Thread _thread;
+ NotificationQueue _queue;
+};
+
+
+template <>
+class ActiveStarter<ActiveDispatcher>
+ /// A specialization of ActiveStarter
+ /// for ActiveDispatcher.
+{
+public:
+ static void start(ActiveDispatcher* pOwner, ActiveRunnableBase::Ptr pRunnable)
+ {
+ pOwner->start(pRunnable);
+ }
+};
+
+
+} // namespace Poco
+
+
+#endif // Foundation_ActiveDispatcher_INCLUDED