class ugcs::vsm::internal::Posix_file_handle¶
Overview¶
POSIX-specific implementation of system native file handle. More…
#include <posix_file_handle.h> class Posix_file_handle: public ugcs::vsm::File_processor::Stream::Native_handle { public: // structs struct Io_cb; // construction Posix_file_handle(int fd, int write_fd = -1); Posix_file_handle( const std::string& path, const File_processor::Stream::Mode& mode, mode_t permissions = S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH ); };
Inherited Members¶
public: // typedefs typedef std::unique_ptr<Native_handle> Unique_ptr; // classes class Stream_ref_holder; // fields Read_request::Ptr cur_read_request; Write_request::Ptr cur_write_request; Io_request::Ptr cur_lock_request; Io_request::Ptr cur_unlock_request; bool is_closed = false; Stream::Ptr stream; Stream::Ptr write_active; Stream::Ptr read_active; // methods void Set_stream(Stream::Ptr stream); virtual void Write() = 0; virtual void Read() = 0; virtual Lock_result Try_lock() = 0; virtual bool Lock() = 0; virtual bool Unlock() = 0; virtual bool Cancel_write() = 0; virtual bool Cancel_read() = 0; virtual void Close() = 0; void Handle_write_abort(); void Handle_read_abort();
Detailed Documentation¶
POSIX-specific implementation of system native file handle.
Construction¶
Posix_file_handle(int fd, int write_fd = -1)
Construct an instance based on already opened descriptors.
Posix_file_handle( const std::string& path, const File_processor::Stream::Mode& mode, mode_t permissions = S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH )
Construct an instance by opening a file specified by path.