Skip to content
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

Final request-response polish #367

Merged
merged 143 commits into from
Sep 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
b7de17b
Checkpoint before context switch
bretambrose Nov 29, 2023
f501fa0
Checkpoint
Dec 11, 2023
08842aa
Merge branch 'main' into ProtocolAdapterSkeleton
Jan 16, 2024
7a1db26
Sync point
Jan 17, 2024
013168b
Checkpoint
bretambrose Jan 18, 2024
b23c567
Another sync point
bretambrose Jan 18, 2024
3714336
First test checkpoint:
Jan 18, 2024
384a380
Initial subscribe tests
Jan 18, 2024
86de219
Tests complete
Jan 19, 2024
30ed0c3
Move test file
Jan 19, 2024
8c23d4b
Commenting
Jan 19, 2024
fa655f3
Formatting
Jan 19, 2024
65229df
Explanation why we use new approach
Jan 19, 2024
5160eb4
array size macro doesn't seem to work on windows?
Jan 22, 2024
29016f1
newline
Jan 22, 2024
76364e9
Sync point
Jan 22, 2024
f418237
Refactor 311 tests to share functionality
Jan 24, 2024
addabe1
Formatting
bretambrose Jan 24, 2024
397b463
Checkpoint
bretambrose Jan 24, 2024
b1fe1f9
Feedback
bretambrose Jan 24, 2024
00a0e68
Merge branch 'ProtocolAdapterSkeleton' into 311Listener
bretambrose Jan 24, 2024
0f1554b
Check point
bretambrose Jan 24, 2024
e5f93e1
Convert to session event
bretambrose Jan 24, 2024
d342899
Merge branch 'ProtocolAdapterSkeleton' into 311Listener
bretambrose Jan 24, 2024
a54824a
Stop talking to myself
bretambrose Jan 25, 2024
7388fc5
Merge branch 'ProtocolAdapterSkeleton' into 311Listener
bretambrose Jan 25, 2024
46b0d66
Testing
bretambrose Jan 25, 2024
abbcdc1
Sync point
bretambrose Jan 26, 2024
426878f
success/failure -> error code
Jan 26, 2024
75e1c3b
Sync point
bretambrose Jan 26, 2024
7efe256
success/failure -> error code
Jan 26, 2024
ac334f4
Formatting
Jan 26, 2024
6ac58f1
Clean up
Jan 26, 2024
67db09c
Test fixes
Jan 26, 2024
ca0c14f
Rebuild the branch
Jan 26, 2024
7512e38
Subscribe timeout and add ability to override timeout internally
Jan 26, 2024
75a8a6a
Detach other subscribe completion callbacks
bretambrose Jan 29, 2024
1e7c4ae
Subscribe timeout impl and tests
bretambrose Jan 29, 2024
d3055a1
override tests
bretambrose Jan 29, 2024
4783ea1
On further reflection, we need connection state in the subscription m…
bretambrose Jan 30, 2024
1aee731
Merge branch 'ProtocolAdapterSkeleton' into 311Listener
bretambrose Jan 30, 2024
165827e
Checkpoint
bretambrose Jan 30, 2024
38532f0
Oops
bretambrose Jan 30, 2024
cd0bbb9
Merge branch 'ProtocolAdapterSkeleton' into 311Listener
bretambrose Jan 30, 2024
8cd978a
Need both interrupt and disconnect events
bretambrose Jan 30, 2024
63f4f65
Merge branch '311Listener' into 311Timeouts
bretambrose Jan 30, 2024
d55553f
feedback
bretambrose Jan 30, 2024
ac0c01b
Merge branch '311Listener' into 311Timeouts
bretambrose Jan 30, 2024
be95877
Check point
Jan 31, 2024
e1c5a1c
Formatting
Jan 31, 2024
7b5f888
Checkpoint
Feb 1, 2024
d6bdd2d
Finish tests
Feb 2, 2024
3e27f40
Remove unnecessary null assignments
Feb 2, 2024
a84d1e6
Merge branch '311Timeouts' into 311ProtocolAdapter
Feb 2, 2024
dcd5a3a
Sync point
Feb 20, 2024
7c9d502
Check point
bretambrose Feb 21, 2024
c565837
Retryable flag
Feb 21, 2024
c0afaa5
Merge branch '311ProtocolAdapter' into SubscriptionManager
Feb 21, 2024
212e6c7
Check point
Feb 21, 2024
b9cee40
Checkpoint
Feb 22, 2024
e7e920a
Some comments
Feb 26, 2024
8812351
testing framework
bretambrose Feb 26, 2024
5000d02
Checkpoint
bretambrose Feb 26, 2024
baf78c3
Test mem leak
bretambrose Feb 27, 2024
3b16274
Sync point
Feb 27, 2024
b639e36
missing visibility
Feb 27, 2024
893105d
snprintf
Feb 27, 2024
4247145
Finish tests
Feb 28, 2024
c1a2298
Logging, event emission fix
Feb 28, 2024
7074a0d
Test polish
Feb 29, 2024
0da55e2
Checkpoint
Feb 29, 2024
c7d7cbe
create destroy tests
bretambrose Mar 1, 2024
5d3d2cd
Comments
Mar 4, 2024
249ce9f
Feedback
Mar 4, 2024
4e240eb
Merge branch 'SubscriptionManager' into RequestResponseClient
Mar 4, 2024
3361455
visibility macro
Mar 4, 2024
419f5bc
Wording
Mar 5, 2024
590f947
Merge branch 'SubscriptionManager' into RequestResponseClient
Mar 5, 2024
545aba0
Checkpoint
Mar 6, 2024
f69b09f
Updates
bretambrose Mar 9, 2024
eeda838
Updates
bretambrose Mar 9, 2024
6cc7723
Format, unused function
bretambrose Mar 9, 2024
c775de9
Basic operation submission testing
Mar 12, 2024
bd04ad5
PR feedback
Mar 12, 2024
2aad5b3
Merge branch 'RequestResponseClient' into RequestResponseOperations
Mar 12, 2024
15e8a32
Merge from previous PR
Mar 12, 2024
8de5a00
Update subscription manager and associated systems to support durable…
bretambrose Mar 13, 2024
3d50374
Add a sleep to guarantee task execution order which guarantees event …
bretambrose Mar 14, 2024
ccf6ac8
Add timeout and service task support to the request-response client
bretambrose Mar 14, 2024
96e63a7
Cancel service task on shutdown
bretambrose Mar 14, 2024
69d00c8
Newline
bretambrose Mar 14, 2024
cdc1a97
Streaming operation intake
Mar 19, 2024
3875720
aliasing error
Mar 19, 2024
e3b0eee
Logging checkpoint
Mar 22, 2024
aabe34d
Logging polish
Mar 22, 2024
93283ab
Checkpoint
bretambrose Mar 28, 2024
d58f19d
Checkpoint
Mar 26, 2024
b35eb69
Checkpoint
Mar 29, 2024
e98c217
Checkpoint
bretambrose Mar 30, 2024
991c19b
Fixes
bretambrose Mar 30, 2024
f7fd38f
unreferenced parameters
bretambrose Mar 30, 2024
5b57a82
Finish streaming tests
bretambrose Mar 30, 2024
3068c28
Additional tests
Mar 30, 2024
8fa8c20
Formatting
Mar 30, 2024
b858a25
Checkpoint pre-refactor
Mar 30, 2024
84bd2bd
Remove weak ref and replace with intrusive linked list of incomplete …
bretambrose Mar 31, 2024
22b1817
Merge branch 'RefactorProtocolAdapterUserdata' into RequestOperations
bretambrose Mar 31, 2024
fa8eff2
Wording
Apr 1, 2024
1e2bb6e
Merge branch 'StreamingOperations' into RefactorProtocolAdapterUserdata
Apr 1, 2024
1734d1e
Merge branch 'RefactorProtocolAdapterUserdata' into RequestOperations
Apr 1, 2024
c4313c8
Request publish support
Apr 1, 2024
e302be5
Checkpoint
Apr 1, 2024
4e6c21d
Relax validation on correlation token and path to support identity se…
bretambrose Apr 2, 2024
33621bf
Response correlation
Apr 5, 2024
945d91a
First request success test
Apr 6, 2024
135165b
Checkpoint
bretambrose Apr 8, 2024
37f4b57
Final test updates
Apr 9, 2024
c0263eb
Checkpoint
Apr 11, 2024
468e73e
Updates
bretambrose Apr 11, 2024
8567ffb
Checkpoint
bretambrose Apr 12, 2024
53835c5
Tests passing
Apr 12, 2024
cb777b7
Finalize support for multi-subscription request operations
Apr 12, 2024
9ab9fd6
Finish multi sub tests
bretambrose Apr 13, 2024
dffcf96
Merge branch 'MultiSub' into Elastishadow
bretambrose Apr 14, 2024
84d9696
Checkpoint
bretambrose Apr 14, 2024
aa7488f
Unused params
bretambrose Apr 15, 2024
3d99a47
fixup
bretambrose Apr 15, 2024
0053ef1
Merge branch 'MultiSub' into Elastishadow
bretambrose Apr 15, 2024
cbb958e
Updates for common helper functionality
bretambrose Apr 15, 2024
f8248f8
Checkpoint
bretambrose Apr 15, 2024
9dfbb86
Checkpoint
bretambrose Apr 15, 2024
db285e3
Activate API, public API comments
Apr 16, 2024
13faf2f
Bad error handling in acquire subscription
bretambrose Jul 19, 2024
840332a
Comment updates
Jul 25, 2024
551df55
Merge branch 'main' into FinalPolish
Jul 25, 2024
9b9ed5f
Comment correction
Jul 30, 2024
ed47f72
Use common API
Aug 13, 2024
ccdaeac
Typo
bretambrose Sep 9, 2024
b50ec89
Format
bretambrose Sep 9, 2024
9614d92
Update builder
bretambrose Sep 9, 2024
6475825
Event loop accessor for request response client
Sep 12, 2024
bc2375f
Misc PR feedback
Sep 12, 2024
08ef51d
Explanatory comment
Sep 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
- 'main'

env:
BUILDER_VERSION: v0.9.62
BUILDER_VERSION: v0.9.64
BUILDER_SOURCE: releases
BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net
PACKAGE_NAME: aws-c-mqtt
Expand Down
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ file(GLOB AWS_MQTT_PRIV_EXPOSED_HEADERS
file(GLOB AWS_MQTT_SRC
"source/*.c"
"source/v5/*.c"
"source/request-response/*.c"
)

file(GLOB MQTT_HEADERS
Expand Down Expand Up @@ -121,6 +122,7 @@ if (BUILD_TESTING)
if (NOT CMAKE_CROSSCOMPILING )
add_subdirectory(bin/elastipubsub)
add_subdirectory(bin/elastipubsub5)
add_subdirectory(bin/elastishadow)
add_subdirectory(bin/mqtt5canary)
endif()
endif ()
29 changes: 29 additions & 0 deletions bin/elastishadow/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
project(elastishadow C)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake")

file(GLOB ELASTISHADOW_SRC
"*.c"
)

set(ELASTISHADOW_PROJECT_NAME elastishadow)
add_executable(${ELASTISHADOW_PROJECT_NAME} ${ELASTISHADOW_SRC})
aws_set_common_properties(${ELASTISHADOW_PROJECT_NAME})


target_include_directories(${ELASTISHADOW_PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)

target_link_libraries(${ELASTISHADOW_PROJECT_NAME} PRIVATE aws-c-mqtt)

if (BUILD_SHARED_LIBS AND NOT WIN32)
message(INFO " elastishadow will be built with shared libs, but you may need to set LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX}/lib to run the application")
endif()

install(TARGETS ${ELASTISHADOW_PROJECT_NAME}
EXPORT ${ELASTISHADOW_PROJECT_NAME}-targets
COMPONENT Runtime
RUNTIME
DESTINATION bin
COMPONENT Runtime)
Loading
Loading