-
Notifications
You must be signed in to change notification settings - Fork 610
Initial support for engines library #2367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 3 commits
b26a5ec
f07c21a
9e573fb
a789f28
2243c0a
a634410
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| ## Copyright (C) 1996-2026 The Squid Software Foundation and contributors | ||
| ## | ||
| ## Squid software is distributed under GPLv2+ license and includes | ||
| ## contributions from numerous individuals and organizations. | ||
| ## Please see the COPYING and CONTRIBUTORS files for details. | ||
| ## | ||
|
|
||
| include $(top_srcdir)/src/Common.am | ||
|
|
||
| noinst_LTLIBRARIES = libengines.la | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
It is not clear to me what "underlying that logic" and "this logic" refers to here, so I cannot confirm that such a consensus exists. Creating a library consisting of one header file feels wrong, so I assume that this PR implies that some other code (containing some additional "logic") will be added to that library. That "other code" will help flesh out the actual library scope. We should decide what else should go into that library before finalizing and merging this PR. We do not need to agree on a comprehensive list, but we need to agree on more than just one header file. The comment quoted below may be a step towards making that decision:
Grouping AsyncEngine API and EventLoop code together makes sense, especially since that code is used by multiple executables today, but that group/library should not be called "engines" -- it provides no engines! A name like "MainLoop" or "EventLoop" may work (and would not preclude adding more engines to that library if we decide that those additions are a good idea).
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Updated the PR description. FYI; abuse of a code change request to require changes to the PR description. Please use the review main comment for this type of thing.
As mentioned in my prior comment this PR is the basic infrastructure of the library. The other classes which inherit from AsyncEngine will also move in later in this refactor when their boundaries are cleaned up. Those are the actual "engines" it is named for providing (SignalEngine, TimeEngine, EventsEngine, ...) - same layout model as we use for HttpFooServer and FtpFooServer in libservers library, and equivalent in clients. FTR; the model here is your preferred layout design. My own preferred layout is to separate each of these things by protocol. eg |
||
|
|
||
| libengines_la_SOURCES = \ | ||
| AsyncEngine.h | ||
|
|
||
| # XXX: autoconf only supplies CXXCOMPILE et al. properly when there is a .cc to build. | ||
| # XXX: temporary workaround for make check testHeaders auto-build. | ||
| EXCLUDE_FROM_HDR_TESTING += $(libengines_la_SOURCES) | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please do not remove a header declaring a class that is used by the including code, even if some other included header happens to include that class declaration today. The same concern probably applies to some other modified files as well.