-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMain.cpp
96 lines (87 loc) · 2.95 KB
/
Main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
//
// Created by t on 1/8/19.
//
#include "Main.h"
#include "MatrixCacheAdapter.h"
#include "Server.h"
#include "MySerialServer.h"
#include "ClientHandler.h"
#include "MyTestClientHandler.h"
#include "CacheManager.h"
#include "FileCacheManager.h"
#include "Solver.h"
#include "StringReverser.h"
#include "Solver.h"
#include "StringReverser.h"
#include <string>
#include <iostream>
#include <unistd.h>
#include <vector>
#include "MatrixSearchClient.h"
#include "MyParallelServer.h"
#include "MyClientHandler.h"
#include "SolverToSearcherAdapter.h"
#include "Matrix.h"
using namespace std;
//template class CacheManager<string,string>;
//template class FileCacheManager<string,string>;
//int boot::Main::main(int argc, char *argv[]) {
int Main::main(int argc, char *argv[]) {//todo no new
try {
int port = atoi(argv[1]);
cout << "port: " << port << endl;
//create a server: MySerialServer
MyParallelServer server;
Server *myServer = &server;
cout << "Main after server" << endl;
//create a cache manager
FileCacheManager fcm;
MatrixCacheAdapter mcm = MatrixCacheAdapter(&fcm);
CacheManager<Matrix, string> *cacheManager = &mcm;
cout << "Main after cache" << endl;
//create solver
//StringReverser stringRev;
//Solver<string, string> *solver = &stringRev;
SolverToSearcherAdapter<Matrix> solver1 = SolverToSearcherAdapter<Matrix>();
Solver<Matrix, string> *solver = &solver1;
//SolverToSearcherAdapter(ISearcher *searcher)
//create client handler
MyClientHandler client(solver, cacheManager);
ClientHandler *clientHandler = &client;
//get message
/*
string arr[] = {
"4, 2, 9, 5, 7, 0, 7, 6, 3, 7, 8\n",
"4, 0,10, 8, 1, 0, 5, 5, 7, 8, 4\n",
"4, 5, 2, 8, 1, 1, 9, 3, 3, 0, 7\n",
"3, 3, 6, 2, 8, 9, 6, 8, 3, 5, 7\n",
"0, 3, 7, 3, 7,10, 4, 8, 9, 1, 1\n",
"7, 3, 2, 3, 5, 0, 2, 1, 6, 0, 9\n",
"6, 9, 8, 1,10, 3, 9, 8, 3, 4, 8\n",
"10, 8, 0, 2, 3, 8, 0,10,10, 2, 7\n",
"5, 7, 0, 8, 8, 8, 0, 3, 4, 5, 1\n",
"7, 7, 5,10, 8,10, 1, 6, 9, 9, 1\n"
"5,10, 1,10, 7, 7, 3,10, 8, 0, 6\n",
"0,0\n",
"10,10\n",
"end"};*/
string arr[] = {
"4, 2, 9\n",
"1, 1, 1\n",
"7, 7, 7\n",
"0,0\n",
"10,10\n",
"end"};
vector<string> message(arr, arr + (sizeof(arr)/sizeof(arr[0])));
myServer->open(port, clientHandler);
//start client
MatrixSearchClient searcherMatrix;
searcherMatrix.open("127.0.0.1" ,port, &message);
sleep(1);
searcherMatrix.stop();
myServer->stop();
return 0;
} catch (const char *exception) {
printf("%s",exception);
}
}