Merged
Conversation
- Introduced `get_snapshot_files()` to fetch RIB and updates MRT files for specific collectors and timestamps. - Enabled precise routing table snapshot reconstruction by replaying updates over RIB data. - Added `SnapshotFiles` struct and enhanced documentation with examples. - Updated tests to validate functionality and edge cases. - Included CHANGELOG updates.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new feature to the SDK for reconstructing BGP routing table snapshots at a specific point in time, along with related documentation and tests. The main addition is the
get_snapshot_files()method, which makes it easier for users to fetch the exact MRT files (RIB and updates) needed for routing table reconstruction. Additional changes include documentation updates, a new data structure, and comprehensive tests for the new functionality.SDK Feature: Routing Table Snapshot Reconstruction
Added the
get_snapshot_files()method to theBgpkitBrokerstruct, allowing users to retrieve the RIB dump and all updates files needed to reconstruct the routing table state for specified collectors at a target timestamp. The method supports multiple timestamp formats and returns a vector ofSnapshotFilesstructs, each containing the collector ID, RIB URL, and a chronologically ordered list of updates URLs.Introduced the
SnapshotFilesstruct (withDebug,Clone,Serialize,Deserialize,Eq, andPartialEqtraits) to encapsulate the data needed for snapshot reconstruction, and implementedDisplayfor convenient printing.Documentation and Examples
CHANGELOG.mdto document the new SDK feature and its use case.get_snapshot_files()in both the Rust doc comments and the project README. [1] [2]Testing
get_snapshot_files()method, covering single and multiple collectors, invalid timestamps, empty collectors, and theDisplayimplementation ofSnapshotFiles.Exports
SnapshotFilespublicly available via the crate root for easier access by users.