In the land of C, fflush hands the contents of the write buffer in-process to the OS. fsync is a related but different function. It’s a syscall that asks the OS to flush OS buffers to disk.
<File as Write>::flush should probably do some flushing of the internal buffers but no, it’s not the same as fsync.