summaryrefslogtreecommitdiff
path: root/src/mongo/server.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/server.h')
-rw-r--r--src/mongo/server.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/mongo/server.h b/src/mongo/server.h
new file mode 100644
index 00000000000..d9a711ef780
--- /dev/null
+++ b/src/mongo/server.h
@@ -0,0 +1,46 @@
+/** @file server.h
+
+ This file contains includes commonly needed in the server files (mongod, mongos, test). It is *NOT* included in the C++ client; i.e.
+ this is a very good place for global-ish things that you don't need to be in the client lib.
+
+ Over time we should move more here, and more out of pch.h. And get rid of pch.h at some point.
+*/
+
+#pragma once
+
+#include <map>
+#include <vector>
+#include <set>
+
+#include "bson/inline_decls.h"
+
+//using namespace std;
+//using namespace bson;
+
+/* Note: do not clutter code with these -- ONLY use in hot spots / significant loops. */
+
+// branch prediction. indicate we expect to be true
+#define likely MONGO_likely
+
+// branch prediction. indicate we expect to be false
+#define unlikely MONGO_unlikely
+
+// prefetch data from memory
+//#define PREFETCH MONGOPREFETCH
+
+#if defined(__GNUC__)
+
+#define CACHEALIGN __attribute__((aligned(64))
+
+#elif defined(_MSC_VER)
+
+#define CACHEALIGN __declspec(align(64))
+
+#else
+
+#define CACHEALIGN
+
+#endif
+
+// log but not too fast. this is rather simplistic we can do something fancier later
+#define LOGSOME static time_t __last; time_t __now=time(0); if(__last+5<__now) {} else log()