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

Error Frames and User Image Invalidation #1604

Merged
merged 67 commits into from
Sep 4, 2024
Merged
Changes from 1 commit
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
e38ed04
[Java] Use private method to update state in PublicationImage.
mikeb01 May 14, 2024
3eae27d
[Java] Add basic test and command to invalidate and image from user c…
mikeb01 May 20, 2024
2b2af13
[Java] Set image invalidation test as a slow test. Early exit of imag…
mikeb01 May 24, 2024
23da70a
[Java] Start adding ErrorFlyweight.
mikeb01 May 27, 2024
0fa5893
[Java] Pass invalidation reason through to the source publication and…
mikeb01 Jun 12, 2024
6e98c4d
[C] Start adding invalidate image information.
mikeb01 May 20, 2024
0c21ecf
[C] Invalidate image on the receiver.
mikeb01 May 24, 2024
108b9fc
[Java/C] Fix CodeQL errors.
mikeb01 May 27, 2024
68a059f
[C] Add support for send/receiving error frames and update flow contr…
mikeb01 Jun 12, 2024
0c58d8e
[C] Tighten stack allocation of buffer to work better with MSVC. Don…
mikeb01 Jun 13, 2024
1eb13e6
[Java] New system counter to track number of error messages received.…
mikeb01 Jun 13, 2024
74c5e7e
[C] New system counter to track number of error messages received. C…
mikeb01 Jun 13, 2024
805924a
[Java] Add additional tests for EOS and errors for MDC publications.
mikeb01 Jun 14, 2024
87ed206
[Java] Limit the length of the invalidation reason.
mikeb01 Jun 14, 2024
cfb36cf
[C] Limit reason length for image invalidation.
mikeb01 Jun 14, 2024
0d3a237
[Java] Allow test to run on C media driver.
mikeb01 Jun 16, 2024
8a40f02
[C/Java] Rename Error Messages to Error Frames.
mikeb01 Jun 16, 2024
9f63664
[Java] Log errors when error frames are received.
mikeb01 Jun 17, 2024
03a34c5
[C] Log errors when error frames are received.
mikeb01 Jun 17, 2024
04b88ce
[Java] Enable test for C driver.
mikeb01 Jun 17, 2024
426cb5c
[Java] Checkstyle.
mikeb01 Jun 17, 2024
d6eea13
[C] Use C++ compliant flexible array member.
mikeb01 Jun 17, 2024
9ecd94c
[C] Handle flexible array members in MSVC.
mikeb01 Jun 17, 2024
f03acaa
[C] Use flexible array member correctly in more places for reason tex…
mikeb01 Jun 18, 2024
3d09285
[Java] First pass at surfacing error frames to the client.
mikeb01 Jun 19, 2024
14b7fd0
[C] Send publication error frames to the client.
mikeb01 Jun 19, 2024
8aece1d
[Java] Enable test for C driver.
mikeb01 Jun 20, 2024
b6c3863
[Java] Only report publication error frame to client that has the pub…
mikeb01 Jun 20, 2024
9aeb7c7
[Java] Start encapsulating all fields relating to an error frame in a…
mikeb01 Jun 20, 2024
999f7a9
[Java] Add additional parameters including source address of the erro…
mikeb01 Jun 24, 2024
b5269ec
[Java] Disable test for IPv6.
mikeb01 Jun 24, 2024
0d38a86
[C] Add additional parameters to user visible error frame.
mikeb01 Jun 24, 2024
0288b6a
[C] Use ntohs instead of betoh16 (fix Mac).
mikeb01 Jun 24, 2024
de21229
[Java] Allow test to run always if the parameter is an IPv4 address.
mikeb01 Jun 25, 2024
6766a50
[Java] Naming and consistency updates.
mikeb01 Jun 27, 2024
234071e
[C] Fix compile error.
mikeb01 Jun 27, 2024
f305c82
[Java] Ensure that other clients with the same publication see the er…
mikeb01 Jun 27, 2024
7e6a7d2
[Java] Use "reject" instead of "invalidate" for marking images for er…
mikeb01 Jul 8, 2024
bb665c6
[Java] Javadoc.
mikeb01 Jul 8, 2024
2ba58e9
[Java] Remove last utf-8 encoding for error frames.
mikeb01 Jul 23, 2024
ae23de5
[Java] Add error frames sent counter.
mikeb01 Jul 23, 2024
1079d47
[C] Add errors frames sent counter.
mikeb01 Jul 23, 2024
5fe6304
[C] Start adding publication error frame information.
mikeb01 Jul 24, 2024
58d5e84
[C] Basic working flow for C & C++ wrapper for error frames.
mikeb01 Aug 1, 2024
b556e44
[Java] Rename to explicitly reference that the handler is dealing spe…
mikeb01 Aug 1, 2024
861d5bb
[C/C++] Start adding test for validating exclusive publications recei…
mikeb01 Aug 1, 2024
5cdaefb
[C++ Wrapper] Comment out test.
mikeb01 Aug 1, 2024
7bca284
[C] Ensure that error frames are pass to the client for exclusive pub…
mikeb01 Aug 2, 2024
7ab586b
[Java] Checkstyle.
mikeb01 Aug 2, 2024
2714904
[C++] Compilation warning.
mikeb01 Aug 2, 2024
76f464f
[Java] Tidy test and docs.
mikeb01 Aug 4, 2024
10d449c
[C/C++] Add support for reading the fields from a PublisherErrorFrame…
mikeb01 Aug 5, 2024
7dbef69
[C/C++] Add comments and fix header.
mikeb01 Aug 5, 2024
6ce16db
[C/C++] Fix compile error on Window.
mikeb01 Aug 5, 2024
86525fc
[Java] Add test to verify rejection doesn't work for IPC.
mikeb01 Aug 6, 2024
b348404
[C] Use correct client data for the publication error frame callback …
mikeb01 Aug 7, 2024
efe1e5a
[C/C++] Add test to validate that publication error frames are passed…
mikeb01 Aug 8, 2024
ee21353
[Java] Update Javadoc.
mikeb01 Aug 28, 2024
ccdc650
[Java] Include destination registration id in publication error frame.
mikeb01 Aug 27, 2024
e608117
[Java] Additional validation in RejectImageTest.
mikeb01 Aug 29, 2024
81be217
[C] Add destination registration id support for publication error fra…
mikeb01 Aug 29, 2024
72e7a69
[Java] Comments and cleanup.
mikeb01 Aug 29, 2024
fb7641c
[Java] Update event code for REJECT_IMAGE.
mikeb01 Sep 2, 2024
d443b27
[Java] Fix Javadoc.
mikeb01 Sep 2, 2024
5c925f1
[C] Small renames, fixes and verification for publication error frames.
mikeb01 Sep 2, 2024
42bc837
[C] Add logging for REJECT_IMAGE.
mikeb01 Sep 2, 2024
a8d3c6f
[Java] Fix CodeQL and add test to RejectImageTest.
mikeb01 Sep 2, 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
Prev Previous commit
Next Next commit
[Java] Update Javadoc.
mikeb01 committed Sep 2, 2024
commit ee2135349430351a5fb3c247fd522e1dddfcb6f0
3 changes: 3 additions & 0 deletions aeron-agent/src/main/java/io/aeron/agent/DriverEventCode.java
Original file line number Diff line number Diff line change
@@ -217,6 +217,9 @@ public enum DriverEventCode implements EventCode
*/
CMD_IN_REMOVE_DESTINATION_BY_ID(56, DriverEventDissector::dissectCommand),

/**
* Reject image command received by the driver.
*/
CMD_IN_REJECT_IMAGE(56, DriverEventDissector::dissectCommand);

static final int EVENT_CODE_TYPE = EventCodeType.DRIVER.getTypeCode();
Original file line number Diff line number Diff line change
@@ -22,12 +22,10 @@
*/
public interface PublicationErrorFrameHandler
{
PublicationErrorFrameHandler NO_OP = new PublicationErrorFrameHandler()
{
public void onPublicationError(final PublicationErrorFrame errorFrame)
{
}
};
/**
* Default no-op error frame handler.
*/
PublicationErrorFrameHandler NO_OP = errorFrame -> {};

/**
* Called when an error frame for a publication is received by the local driver and needs to be propagated to the