+/*
+ * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
#ifndef SQUID_MMAPPEDFILE_H
#define SQUID_MMAPPEDFILE_H
class MmappedFile : public DiskFile
{
+ CBDATA_CLASS(MmappedFile);
public:
- void *operator new(size_t);
- void operator delete(void *);
MmappedFile(char const *path);
- ~MmappedFile();
- virtual void open(int flags, mode_t mode, RefCount<IORequestor> callback);
- virtual void create(int flags, mode_t mode, RefCount<IORequestor> callback);
- virtual void read(ReadRequest *);
- virtual void write(WriteRequest *);
- virtual void close();
- virtual bool error() const;
- virtual int getFD() const { return fd;}
-
- virtual bool canRead() const;
- virtual bool canWrite() const;
- virtual bool ioInProgress() const;
+ ~MmappedFile() override;
+ void open(int flags, mode_t mode, RefCount<IORequestor> callback) override;
+ void create(int flags, mode_t mode, RefCount<IORequestor> callback) override;
+ void read(ReadRequest *) override;
+ void write(WriteRequest *) override;
+ void close() override;
+ bool error() const override;
+ int getFD() const override { return fd;}
+
+ bool canRead() const override;
+ bool canWrite() const override;
+ bool ioInProgress() const override;
private:
- CBDATA_CLASS(MmappedFile);
-
char const *path_;
RefCount<IORequestor> ioRequestor;
//RefCount<ReadRequest> readRequest;
};
#endif /* SQUID_MMAPPEDFILE_H */
+