[native] Function for triggering file data upload
Summary:
ENG-6214 : Create a function for signaling a new log/compaction
This a function that the C++ database code will call to specify that a new compaction or log has been saved to a file and needs to be uploaded to the backup service. It uses the Notify struct which allows waiting for an event using notify_object.notified().await; and triggering the event with notify_object.notify_one() (which is non-blocking). It will be used in the backup_data_sender function.
Depends on D10629
Test Plan:
Run code:
loop {TRIGGER_BACKUP_FILE_UPLOAD.notified().await; println!("Triggered");}
- After each call to notify_one(), "Triggered" is logged
- Don't run the loop code. Make sure notify_one() can still be called and doesn't block.
Reviewers: marcin, bartek, kamil
Reviewed By: bartek
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D10630