mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
38 lines
948 B
C++
38 lines
948 B
C++
/*
|
|
* Concrete Vio around a file descriptor.
|
|
*/
|
|
|
|
#ifdef __GNUC__
|
|
#pragma interface /* gcc class implementation */
|
|
#endif
|
|
|
|
VIO_NS_BEGIN
|
|
|
|
class VioFd : public Vio
|
|
{
|
|
public:
|
|
VioFd( int fd);
|
|
virtual ~VioFd();
|
|
virtual bool open() const;
|
|
virtual int read( vio_ptr buf, int size);
|
|
virtual int write( const vio_ptr buf, int size);
|
|
virtual bool blocking() const;
|
|
virtual int blocking(bool onoff);
|
|
virtual int fastsend(bool onoff=true);
|
|
virtual int keepalive( bool onoff);
|
|
virtual bool fcntl() const;
|
|
virtual bool should_retry() const;
|
|
virtual int fcntl( int cmd);
|
|
virtual int fcntl( int cmd, long arg);
|
|
virtual int fcntl( int cmd, struct flock* lock);
|
|
virtual int close();
|
|
virtual const char* description() const;
|
|
virtual const char* peer_addr() const;
|
|
virtual bool peer_name(char *buf) const;
|
|
virtual const char* cipher_description() const;
|
|
private:
|
|
int fd_;
|
|
char desc_[100];
|
|
};
|
|
|
|
VIO_NS_END
|