-
Notifications
You must be signed in to change notification settings - Fork 899
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Error Frames and User Image Invalidation (#1604)
* [Java] Use private method to update state in PublicationImage. * [Java] Add basic test and command to invalidate and image from user code. Prevent new data being inserted into an invalidated image. Add logging. * [Java] Set image invalidation test as a slow test. Early exit of image is found during invalidation on the receiver. * [Java] Start adding ErrorFlyweight. * [Java] Pass invalidation reason through to the source publication and have it disconnect. Allow receiver side image to linger to prevent immediately recreation of the image. Treat errors received by the NetworkPublication to behaviour like end of stream messages. * [C] Start adding invalidate image information. * [C] Invalidate image on the receiver. * [Java/C] Fix CodeQL errors. * [C] Add support for send/receiving error frames and update flow control and liveness. * [C] Tighten stack allocation of buffer to work better with MSVC. Don't send max frame size each time. * [Java] New system counter to track number of error messages received. Check that we don't spam out error messages too quickly. Reset timestamp of last SM sent by the publication image when sending errors. * [C] New system counter to track number of error messages received. Check that we don't spam out error messages too quickly. Reset timestamp of last SM sent by the publication image when sending errors. * [Java] Add additional tests for EOS and errors for MDC publications. * [Java] Limit the length of the invalidation reason. * [C] Limit reason length for image invalidation. * [Java] Allow test to run on C media driver. * [C/Java] Rename Error Messages to Error Frames. * [Java] Log errors when error frames are received. * [C] Log errors when error frames are received. * [Java] Enable test for C driver. * [Java] Checkstyle. * [C] Use C++ compliant flexible array member. * [C] Handle flexible array members in MSVC. * [C] Use flexible array member correctly in more places for reason text on invalidate image. * [Java] First pass at surfacing error frames to the client. * [C] Send publication error frames to the client. * [Java] Enable test for C driver. * [Java] Only report publication error frame to client that has the publication registered. * [Java] Start encapsulating all fields relating to an error frame in an object to be reported to the caller. * [Java] Add additional parameters including source address of the error frame. * [Java] Disable test for IPv6. * [C] Add additional parameters to user visible error frame. * [C] Use ntohs instead of betoh16 (fix Mac). * [Java] Allow test to run always if the parameter is an IPv4 address. * [Java] Naming and consistency updates. * [C] Fix compile error. * [Java] Ensure that other clients with the same publication see the error frames. * [Java] Use "reject" instead of "invalidate" for marking images for errors. * [Java] Javadoc. * [Java] Remove last utf-8 encoding for error frames. * [Java] Add error frames sent counter. * [C] Add errors frames sent counter. * [C] Start adding publication error frame information. * [C] Basic working flow for C & C++ wrapper for error frames. * [Java] Rename to explicitly reference that the handler is dealing specifically with error frames for publications. Add test to verify that it works for exclusive publications. * [C/C++] Start adding test for validating exclusive publications receive error frames. * [C++ Wrapper] Comment out test. * [C] Ensure that error frames are pass to the client for exclusive publications. * [Java] Checkstyle. * [C++] Compilation warning. * [Java] Tidy test and docs. * [C/C++] Add support for reading the fields from a PublisherErrorFrame. Also add copy and move constructors for dealing with the limit lifecycle of callback objects. * [C/C++] Add comments and fix header. * [C/C++] Fix compile error on Window. * [Java] Add test to verify rejection doesn't work for IPC. * [C] Use correct client data for the publication error frame callback within the client conductor. * [C/C++] Add test to validate that publication error frames are passed to all clients with the same publication and not to ones that without it. * [Java] Update Javadoc. * [Java] Include destination registration id in publication error frame. * [Java] Additional validation in RejectImageTest. * [C] Add destination registration id support for publication error frames. * [Java] Comments and cleanup. * [Java] Update event code for REJECT_IMAGE. * [Java] Fix Javadoc. * [C] Small renames, fixes and verification for publication error frames. * [C] Add logging for REJECT_IMAGE. * [Java] Fix CodeQL and add test to RejectImageTest.
- Loading branch information
Showing
87 changed files
with
3,979 additions
and
79 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.