A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
StoragePagePinned.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * *
3  * Copyright 2018 Rice University *
4  * *
5  * Licensed under the Apache License, Version 2.0 (the "License"); *
6  * you may not use this file except in compliance with the License. *
7  * You may obtain a copy of the License at *
8  * *
9  * http://www.apache.org/licenses/LICENSE-2.0 *
10  * *
11  * Unless required by applicable law or agreed to in writing, software *
12  * distributed under the License is distributed on an "AS IS" BASIS, *
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14  * See the License for the specific language governing permissions and *
15  * limitations under the License. *
16  * *
17  *****************************************************************************/
18 
19 #ifndef SRC_BUILTINPDBOBJECTS_HEADERS_PAGEPINNED_H_
20 #define SRC_BUILTINPDBOBJECTS_HEADERS_PAGEPINNED_H_
21 
22 #include <cstddef>
23 
24 #include "Object.h"
25 #include "DataTypes.h"
26 
27 // PRELOAD %StoragePagePinned%
28 
29 namespace pdb {
30 // this object type is sent from the server to backend to tell it a page is pinned for it.
32 
33 
34 public:
37 
38  // get/set morePagesToLoad, if it is set to false, the other side knows that the receive loop
39  // should be ended
41  return this->morePagesToLoad;
42  }
44  this->morePagesToLoad = morePagesToLoad;
45  }
46 
47  // get/set nodeId
49  return this->nodeId;
50  }
52  this->nodeId = nodeId;
53  }
54 
55  // get/set databaseId
57  return this->dbId;
58  }
60  this->dbId = dbId;
61  }
62 
63  // get/set userTypeId
65  return this->userTypeId;
66  }
67  void setUserTypeID(UserTypeID typeId) {
68  this->userTypeId = typeId;
69  }
70 
71  // get/set setId
73  return this->setId;
74  }
76  this->setId = setId;
77  }
78 
79  // get/set pageId
81  return this->pageId;
82  }
84  this->pageId = pageId;
85  }
86 
87  // get/set pageSize
88  size_t getPageSize() {
89  return this->pageSize;
90  }
91  void setPageSize(size_t pageSize) {
92  this->pageSize = pageSize;
93  }
94 
95 
96  // get/set page offset in shared memory pool
97  size_t getSharedMemOffset() {
98  return this->sharedMemOffset;
99  }
100  void setSharedMemOffset(size_t offset) {
101  this->sharedMemOffset = offset;
102  }
103 
105 
106 private:
113  size_t pageSize;
115 };
116 }
117 
118 #endif /* SRC_BUILTINPDBOBJECTS_HEADERS_PAGEPINNED_H_ */
#define ENABLE_DEEP_COPY
Definition: DeepCopy.h:52
unsigned int SetID
Definition: DataTypes.h:31
void setMorePagesToLoad(bool morePagesToLoad)
void setUserTypeID(UserTypeID typeId)
unsigned int NodeID
Definition: DataTypes.h:27
void setPageID(PageID pageId)
void setSharedMemOffset(size_t offset)
unsigned int DatabaseID
Definition: DataTypes.h:29
unsigned int PageID
Definition: DataTypes.h:26
void setDatabaseID(DatabaseID dbId)
void setSetID(SetID setId)
void setNodeID(NodeID nodeId)
void setPageSize(size_t pageSize)
unsigned int UserTypeID
Definition: DataTypes.h:25