AsyncFw 1.2
Async Framework is c++ runtime with timers, poll notifiers, sockets, coroutines, etc.
 
Loading...
Searching...
No Matches
Thread.h
1/*
2Copyright (c) 2026 Alexandr Kuzmuk
3
4This file is part of the AsyncFw project. Licensed under the MIT License.
5See {Link: LICENSE file https://mit-license.org} in the project root for full license information.
6*/
7
8#pragma once
9
10#include "FunctionConnector.h"
11
12namespace AsyncFw {
13class AbstractSocket;
14
16class Thread : public AbstractThread {
17 friend AbstractSocket;
18 friend class ListenSocket;
19 friend LogStream &operator<<(LogStream &, const Thread &);
20
21public:
23 static Thread *currentThread();
24
26 Thread(const std::string & = "Thread");
27 ~Thread() override;
28
30 FunctionConnectorProtected<Thread>::Connector<> started;
32 FunctionConnectorProtected<Thread>::Connector<> finished;
34 FunctionConnectorProtected<Thread>::Connector<> destroing;
35
36protected:
38 void startedEvent() override;
40 void finishedEvent() override;
41
42 std::vector<AbstractSocket *> sockets_;
43
44private:
45 struct Compare {
46 bool operator()(const AbstractSocket *, const AbstractSocket *) const;
47 };
48 void appendSocket(AbstractSocket *);
49 void removeSocket(AbstractSocket *);
50};
51} // namespace AsyncFw
The AbstractSocket class provides the base functionality for socket.
Definition AbstractSocket.h:20
AbstractThread(const std::string &)
Constructs a thread.
Definition AbstractThread.cpp:201
The LogStream class.
Definition LogStream.h:44
FunctionConnectorProtected< Thread >::Connector<> started
The Thread::started connector.
Definition Thread.h:30
static Thread * currentThread()
Returns a pointer to the AsyncFw::Thread that manages the currently executing thread.
Definition Thread.cpp:31
void startedEvent() override
Runs started()
Definition Thread.cpp:51
void finishedEvent() override
Runs finished()
Definition Thread.cpp:62
FunctionConnectorProtected< Thread >::Connector<> finished
The Thread::finished connector.
Definition Thread.h:32
FunctionConnectorProtected< Thread >::Connector<> destroing
The Thread::destroing connector.
Definition Thread.h:34
Thread(const std::string &="Thread")
Constructs a thread.
Definition Thread.cpp:33