Files
mongo/server.h

47 lines
1.2 KiB
C
Raw Normal View History

2011-08-17 16:55:13 -04:00
/** @file server.h
2011-10-06 14:01:05 -04:00
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.
2011-08-17 16:55:13 -04:00
Over time we should move more here, and more out of pch.h. And get rid of pch.h at some point.
*/
#pragma once
2011-11-16 22:14:02 -05:00
#include <map>
#include <vector>
#include <set>
2011-08-17 16:55:13 -04:00
#include "bson/inline_decls.h"
2011-11-16 22:14:02 -05:00
//using namespace std;
//using namespace bson;
2011-08-17 16:55:13 -04:00
/* 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
2011-08-17 16:55:13 -04:00
2011-08-16 18:21:43 -04:00
#if defined(__GNUC__)
#define CACHEALIGN __attribute__((aligned(64))
2011-08-16 18:21:43 -04:00
#elif defined(_MSC_VER)
#define CACHEALIGN __declspec(align(64))
2011-08-16 18:21:43 -04:00
#else
#define CACHEALIGN
#endif
2011-10-06 14:01:05 -04:00
// 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()