summaryrefslogtreecommitdiff
path: root/s/strategy.h
diff options
context:
space:
mode:
authorDwight <dmerriman@gmail.com>2009-02-23 13:56:54 -0500
committerDwight <dmerriman@gmail.com>2009-02-23 13:56:54 -0500
commite5e195ee39dd5e1231c0229bcdf6d74a6ecbb27c (patch)
tree5237e8ceab874d787d79d77f5171854d71753e2a /s/strategy.h
parent4c491e5b9e87d636514194a4ebfc40ff05624143 (diff)
downloadmongo-e5e195ee39dd5e1231c0229bcdf6d74a6ecbb27c.tar.gz
new file
Diffstat (limited to 's/strategy.h')
-rw-r--r--s/strategy.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/s/strategy.h b/s/strategy.h
new file mode 100644
index 00000000000..43ae74ded15
--- /dev/null
+++ b/s/strategy.h
@@ -0,0 +1,27 @@
+// strategy.h
+
+
+#pragma once
+
+namespace mongo {
+
+ class Strategy {
+ public:
+ Strategy(){}
+ virtual ~Strategy() {}
+ virtual void queryOp( Request& r ) = 0;
+ virtual void getMore( Request& r ) = 0;
+ virtual void writeOp( int op , Request& r ) = 0;
+
+ protected:
+ void doWrite( int op , Request& r , string server );
+ void doQuery( Request& r , string server );
+
+ void insert( string server , const char * ns , const BSONObj& obj );
+
+ };
+
+ extern Strategy * SINGLE;
+ extern Strategy * SHARDED;
+}
+