1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

Checkpointing some stuff. No way it'll build yet.

This commit is contained in:
Patrick LeBlanc
2019-01-18 10:19:14 -06:00
parent db10662629
commit d53471fc75
13 changed files with 462 additions and 1 deletions

54
utils/cloudio/SMComm.h Normal file
View File

@ -0,0 +1,54 @@
# copy some licensing stuff here
#ifndef SMCOMM_H_
#define SMCOMM_H_
namespace idbdatafile {
class SMComm : public boost::noncopyable
{
public:
SMComm *get();
/* Open currently returns a stat struct so SMDataFile can set its initial position, otherwise
behaves how you'd think. */
int open(const std::string &filename, int mode, struct stat *statbuf);
ssize_t pread(const std::string &filename, const void *buf, size_t count, off_t offset);
ssize_t pwrite(const std::string &filename, const void *buf, size_t count, off_t offset);
/* append exists for cases where the file is open in append mode. A normal write won't work
because the file position may be out of date if there are multiple writers. */
ssize_t append(const std::string &filename, const void *buf, size_t count);
int unlink(const std::string &filename);
int stat(const std::string &filename, struct stat *statbuf);
// added this one because it should be trivial to implement in SM, and prevents a large
// operation in SMDataFile.
int truncate(const std::string &filename, off64_t length);
int listDirectory(const std::string &path, std::list<std::string> *entries);
// health indicator. 0 = processes are talking to each other and SM has read/write access to
// the specified S3 bucket. Need to define specific error codes.
int ping();
virtual ~SMComm();
private:
SMComm();
SocketPool sockets;
}
}
#endif