-
Notifications
You must be signed in to change notification settings - Fork 0
feat: S12.14 decouple buffer drain from sender state — fail-fast streams + eager Service drain #283
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
Changes from all commits
8682bbf
c5f83eb
33bc03e
de10a15
13b11ce
78b0cfe
b751844
2f7ecff
5b70e4c
43b2a73
5b6100b
8d2d2c9
8ee9da3
80d9f11
f094709
d8dbe07
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| #ifndef SOLIDSYSLOGSLEEP_H | ||
| #define SOLIDSYSLOGSLEEP_H | ||
|
|
||
| #include "ExternC.h" | ||
|
|
||
| EXTERN_C_BEGIN | ||
|
|
||
| /* Cross-platform millisecond sleep callback. The TLS handshake retry loop | ||
| (and any future wait-and-retry path) takes one of these via config so | ||
| the library never sees platform-specific sleep APIs and tests can | ||
| inject a no-op without conditional compilation. */ | ||
| typedef void (*SolidSyslogSleepFunction)(int milliseconds); | ||
|
|
||
| EXTERN_C_END | ||
|
|
||
| #endif /* SOLIDSYSLOGSLEEP_H */ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,14 +4,15 @@ | |
| #include <stdint.h> | ||
|
|
||
| #include "ExternC.h" | ||
| #include "SolidSyslogSleep.h" | ||
|
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. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Confirm the current SolidSyslogSleepFunction typedef and all call sites
# to verify the context parameter is absent everywhere.
rg -n "SolidSyslogSleepFunction" --type=c --type=h --type=cpp -A2Repository: DavidCozens/solid-syslog Length of output: 1482
The project rule for new callbacks requires:
Fix requires changes in:
♻️ Proposed change for
|
||
|
|
||
| struct SolidSyslogStream; | ||
|
|
||
| EXTERN_C_BEGIN | ||
|
|
||
| enum | ||
| { | ||
| SOLIDSYSLOG_TLS_STREAM_SIZE = sizeof(intptr_t) * 13 | ||
| SOLIDSYSLOG_TLS_STREAM_SIZE = sizeof(intptr_t) * 14 | ||
| }; | ||
|
|
||
| typedef struct | ||
|
|
@@ -22,6 +23,7 @@ EXTERN_C_BEGIN | |
| struct SolidSyslogTlsStreamConfig | ||
| { | ||
| struct SolidSyslogStream* transport; /* underlying byte stream — caller owns */ | ||
| SolidSyslogSleepFunction sleep; /* drives bounded handshake retry between WANT_READ/WANT_WRITE polls — required */ | ||
| const char* caBundlePath; /* PEM file of trust anchors */ | ||
| const char* serverName; /* SNI + cert hostname check; NULL to skip */ | ||
| const char* cipherList; /* TLS 1.2 cipher list; NULL = OpenSSL default */ | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.