Skip to content

Subject: preliminary PR to Porting Envoy to C++17#11807

Closed
aimless404 wants to merge 13 commits intoenvoyproxy:masterfrom
aimless404:PR2.1
Closed

Subject: preliminary PR to Porting Envoy to C++17#11807
aimless404 wants to merge 13 commits intoenvoyproxy:masterfrom
aimless404:PR2.1

Conversation

@aimless404
Copy link
Copy Markdown
Contributor

This is the PR that does the setup work needed to fix some
incompatiblity issue with the current codebase and C++17.

This is a part of the draft PR #11570 that intends to
port Envoy to C++17, sans all the changes to build configurations.

Signed-off-by: Yifan Yang needyyang@google.com

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting... Why are the braced needed?

Copy link
Copy Markdown
Contributor Author

@aimless404 aimless404 Jun 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually something related to the slight behavioral difference between absl::optional and std::optional. In C++17, absl::optional forwards to std::optional.

However, in absl::optional, it provides a user-defined default constructor while std::optional doesn't do that. The reason why a user-defined default constructor is a must is because there is a const member in the data structure, and the default constructor is deleted automatically if "any non-variant non-static data member of const-qualified type (or array thereof) with no brace-or-equal-initializer does not have a user-provided default constructor."

If you want to read more about this here is the link https://timsong-cpp.github.io/cppwp/n4659/class.ctor#5.4

@yanavlasov yanavlasov self-assigned this Jun 30, 2020
yanavlasov
yanavlasov previously approved these changes Jun 30, 2020
@aimless404
Copy link
Copy Markdown
Contributor Author

@yanavlasov Do you mind rerunning the presubmit checks for me? I cannot reproduce the same error that this has on Linux-x64 coverage build locally.

@repokitteh-read-only
Copy link
Copy Markdown

CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy[\w/]*/(v1alpha\d?|v1|v2alpha\d?|v2))|(api/envoy/type/(matcher/)?\w+.proto).
CC @envoyproxy/api-shepherds: Your approval is needed for changes made to api/envoy/.
CC @envoyproxy/api-watchers: FYI only for changes made to api/envoy/.

🐱

Caused by: #11807 was synchronize by stedsome.

see: more, trace.

danzh2010 and others added 13 commits June 30, 2020 20:15
Signed-off-by: Dan Zhang <danzh@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
…11493)

Signed-off-by: knight42 <anonymousknight96@gmail.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
Add support for per-listener limits on accepted connections.

Signed-off-by: Tony Allen <tony@allen.gg>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Tony Allen <tony@allen.gg>
Signed-off-by: Yifan Yang <needyyang@google.com>
…eject partial headers that exceed configured limits (envoyproxy#145)

Signed-off-by: antonio <avd@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
This commit adds a new stream flush timeout to guard against a
remote server that does not open window once an entire stream has
been buffered for flushing. Additional stats have also been added
to better understand the codecs view of active streams as well as
amount of data buffered.

Signed-off-by: Matt Klein <mklein@lyft.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
…ation due to tracking of H2 data and control frames in the output buffer (envoyproxy#144)

Signed-off-by: antonio <avd@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
)

Fixes envoyproxy/envoy-setec#180

Signed-off-by: Matt Klein <mklein@lyft.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
…11624)

Signed-off-by: Erik Bos <erik@xs4all.nl>
Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Matt Klein <mklein@lyft.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
The else-clause would trip when the on-header-present block was absent, irrespective of if the header was actually absent.

Signed-off-by: Ariane van der Steldt <avandersteldt@slack-corp.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
This is the PR that does the setup work needed to fix some
incompatiblity issue with the current codebase and C++17

Signed-off-by: Yifan Yang <needyyang@google.com>
Signed-off-by: Yifan Yang <needyyang@google.com>
@aimless404 aimless404 closed this Jul 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants