AWS IoT Device SDK C++ v2  1.33.0
AWS IoT Device SDK C++ v2
EventLoopGroup.h
Go to the documentation of this file.
1 #pragma once
2 
6 #include <aws/crt/Types.h>
7 
8 #include <aws/io/event_loop.h>
9 
10 namespace Aws
11 {
12  namespace Crt
13  {
14  namespace Io
15  {
33  {
34  public:
40  EventLoopGroup(uint16_t threadCount = 0, Allocator *allocator = ApiAllocator()) noexcept;
47  EventLoopGroup(uint16_t cpuGroup, uint16_t threadCount, Allocator *allocator = ApiAllocator()) noexcept;
48  ~EventLoopGroup();
49  EventLoopGroup(const EventLoopGroup &) = delete;
50  EventLoopGroup(EventLoopGroup &&) noexcept;
51  EventLoopGroup &operator=(const EventLoopGroup &) = delete;
52  EventLoopGroup &operator=(EventLoopGroup &&) noexcept;
53 
57  operator bool() const;
58 
62  int LastError() const;
63 
65  aws_event_loop_group *GetUnderlyingHandle() noexcept;
66 
67  private:
68  aws_event_loop_group *m_eventLoopGroup;
69  int m_lastError;
70  };
71  } // namespace Io
72 
73  } // namespace Crt
74 } // namespace Aws
Aws::Crt::ApiAllocator
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition: Allocator.cpp:24
Aws::Crt::LastError
AWS_CRT_CPP_API int LastError() noexcept
Definition: Api.cpp:422
Types.h
Aws::Crt::Io::EventLoopGroup::EventLoopGroup
EventLoopGroup(const EventLoopGroup &)=delete
AWS_CRT_CPP_API
#define AWS_CRT_CPP_API
Definition: Exports.h:37
Aws
Definition: Allocator.h:11
Aws::Crt::Allocator
aws_allocator Allocator
Definition: Allocator.h:14
Aws::Crt::Io::EventLoopGroup
Definition: EventLoopGroup.h:33