MiniBachelor
Klassen | Funktionen
Worker.cpp-Dateireferenz
#include <iostream>
#include "gen-cpp/Solver.h"
#include <glpk.h>
#include <vector>
#include <thrift/protocol/TBinaryProtocol.h>
#include <thrift/server/TSimpleServer.h>
#include <thrift/transport/TServerSocket.h>
#include <thrift/transport/TBufferTransports.h>

Klassen

class  SolverHandler
 

Funktionen

int main (int argc, char **argv)
 

Dokumentation der Funktionen

int main ( int  argc,
char **  argv 
)

Die Datei Worker.cpp implementiert den Solver-Service und ihre main() Funktion stellt den Service in einem eigenen Server zur Verfügung.

Variable server: Single Threaded -> Server ist erst wieder erreichbar, wenn letzter Request abgearbeitet wurde. Multi Threaded Beispiel: im speedup-Branch

204 {
205  if (argc < 2) {
206  cout << "usage: " << argv[0] << " <port>" << endl;
207  return 1;
208  }
209  int port = stoi(argv[1]);
210 
211  boost::shared_ptr<SolverHandler> handler(new SolverHandler());
212  boost::shared_ptr<TProcessor> processor(new SolverProcessor(handler));
213  boost::shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
214  boost::shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
215  boost::shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
216 
222  TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
223  server.serve();
224  return 0;
225 }
Definition: Worker.cpp:38