From 79337b06bd7dd5d692c93664413ac63edf4a0dfb Mon Sep 17 00:00:00 2001 From: shadow8t4 Date: Wed, 11 Nov 2015 15:32:46 -0600 Subject: [PATCH] re --- simpleclient.cpp | 219 ----------------------------------------------- 1 file changed, 219 deletions(-) delete mode 100755 simpleclient.cpp diff --git a/simpleclient.cpp b/simpleclient.cpp deleted file mode 100755 index 4d9923c..0000000 --- a/simpleclient.cpp +++ /dev/null @@ -1,219 +0,0 @@ -/* - File: simpleclient.C - - Author: R. Bettati - Department of Computer Science - Texas A&M University - Date : 2013/01/31 - - Simple client main program for MP3 in CSCE 313 -*/ - -/*--------------------------------------------------------------------------*/ -/* DEFINES */ -/*--------------------------------------------------------------------------*/ - - /* -- (none) -- */ - -/*--------------------------------------------------------------------------*/ -/* INCLUDES */ -/*--------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include - -#include -#include - -#include "reqchannel.h" -#include "semaphore.h" -#include "BoundedBuffer.h" - -using namespace std; - - -/*--------------------------------------------------------------------------*/ -/* DATA STRUCTURES */ -/*--------------------------------------------------------------------------*/ - - /* -- (none) -- */ - -/*--------------------------------------------------------------------------*/ -/* CONSTANTS */ -/*--------------------------------------------------------------------------*/ - -//RequestChannel* control; -BoundedBuffer* Request_Buffer; -BoundedBuffer* Response_Buffers[3]; -int n = 1000, b = 100, w = 5;//set defaults - -/*--------------------------------------------------------------------------*/ -/* FORWARDS */ -/*--------------------------------------------------------------------------*/ - -void* Req_Thread(string name); -void* Worker_Thread(char* arg[], RequestChannel* chan); -void* local_send_request(string name, string response); - -/*--------------------------------------------------------------------------*/ -/* MAIN FUNCTION */ -/*--------------------------------------------------------------------------*/ - -int main(int argc, char * argv[]) { - - int option = -1; - - while ((option = getopt(argc, argv, "n:b:w:")) != -1){ - switch (option){ - case 'n' : - n = atoi(optarg); - break; - case 'b' : - b = atoi(optarg); - Request_Buffer = new BoundedBuffer(b); - break; - case 'w' : - w = atoi(optarg); - break; - } - } - - pid_t pid = fork(); - - if(pid == 0){ - - cout << "CLIENT STARTED:" << endl; - cout << "Establishing control channel... " << flush; - RequestChannel chan("control", RequestChannel::CLIENT_SIDE); - cout << "done." << endl; - - for(int i = 0; i < 3; i++){ - pid = fork(); - if(pid){ //if in the parent still - if(i == 0){ - Req_Thread(" Joe Smith"); - }else if(i == 1){ - Req_Thread(" Jane Smith"); - }else if(i == 2){ - Req_Thread(" John Doe"); - } - continue; - }else if (pid == 0){ - break; - } else { - exit(1); - } - } - - -<<<<<<< HEAD - string channel_name; - for(int i=0; i < w; i++){ - channel_name = chan.send_request("newthread"); - cout << "\nChan: " << channel_name << endl; - RequestChannel* worker_ret = new RequestChannel(channel_name, RequestChannel::CLIENT_SIDE); - pid = fork(); - if(pid != 0) { - Worker_Thread(argv, worker_ret); - break; - } - } - - - chan.send_request("quit"); - -======= - - - RequestChannel* worker_ret; - string channel_name; - - if(pid){ - RequestChannel chan("control", RequestChannel::CLIENT_SIDE); - cout << "done." << endl; - for(int i=0; i < w; i++){ - pid = fork(); - if(pid) { - pid = fork(); - channel_name = chan.send_request("newthread"); - cout << "Chan: " << channel_name << endl; - worker_ret = new RequestChannel(channel_name, RequestChannel::CLIENT_SIDE); - Worker_Thread(argv, worker_ret); - continue; - }else if(pid == 0){ - break; - }else{ - exit(1); - } - } - wait(); - //chan.send_request("quit"); - } else { - //this is where the child threads from the - //req_thread threads end up. - } - - - for(int i=0; i < 3; i++){ - //stat thread - - //pid = fork(); - if(pid != 0){ - - break; - } - } - - }else{ - execve("dataserver", argv, argv); ->>>>>>> 7f3859db688a7e8629c7a88e7baad87ad6df405d - } - usleep(1000000); -} - -void* Worker_Thread(char* arg[], RequestChannel* chan){ -<<<<<<< HEAD - //handles the data moving between the Server and Bounded Buffer - //control chan("control", RequestChannel::CLIENT_SIDE); - //string channel_name = control.send_request("newthread"); - //RequestChannel * channel_ret = new RequestChannel(channel_name, RequestChannel::CLIENT_SIDE); - while(true){ - -======= - while(true){ ->>>>>>> 7f3859db688a7e8629c7a88e7baad87ad6df405d - string req = Request_Buffer->pop(); - cout << "Request: " << req << endl; - string response = chan->send_request(req); - cout << "Response: " << response << endl; - //local_send_request(req, response); - } - //chan->send_request("quit"); -} - -void* Req_Thread(string name){ - for(int i = 0; i < n; i++){ - cout << "data " << name << endl; - Request_Buffer->push("data" + name); - } -} - -void* local_send_request(string name, string response){ - //send to proper response buffer based on which name is found! - if(name.compare("data Joe Smith") == 0){ - Response_Buffers[0]->push(response); - }else if(name.compare("data Jane Smith") == 0){ - Response_Buffers[1]->push(response); - }else if(name.compare("data John Doe") == 0){ - Response_Buffers[2]->push(response); - }else{ - cout << "ERROR: Invalid push into Response Buffers\n"; - } -} - - - -