forked from project-chip/connectedhomeip
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Generalize socket-based event loop (project-chip#6561)
* Generalize socket-based event loop #### Problem Socket event management is currently tied closely to select(2), and does not integrate well with other event loops. See issue project-chip#5556 _rework system layer event loop_ #### Change overview The primary purpose of this change is to provide a clear interface for monitoring socket events, that can be used both within the CHIP SDK and by an application using the SDK, and can be implemented either inside or outside the SDK. Functionality does not change. * Defines an interface, in `system/SystemSockets.h`. * Converts most existing uses of socket event monitoring (except mDNS, to be done as a followup). * Converts the existing select(2)-based event management into an implementation of the new interface. * Adds a second implementation of the interface, using libevent, to verify that the interface is general enough. #### Testing * Converted the applicable unit tests from select(2) to this interface, and ran them with both the select and libevent implementations. (CI remains select-only for now.) * Integration tests involving socket-based platforms exercise this code and confirm no change to functionality. * Manual verification of controller/device communication * Clarify SocketEventFlags error vs exceptional condition * restyle * fixes for CHIP_SYSTEM_CONFIG_USE_DISPATCH merge * restyle * rename System::SystemWakeEvent to System::WakeEvent
- Loading branch information
1 parent
a1dda4d
commit aef4b3f
Showing
36 changed files
with
1,354 additions
and
1,057 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.