示例#1
0
    void run()
    {
        GLock<1> lock;
        std::string msg;
        lock.lock();
        BQueue<std::string>* pBQ = _pFileHandler->getQueue();
        ICommunicator* pComm = _pFileHandler->getCommunicator();
        EndPoint remoteEp = _pFileHandler->getEndPoint();
        lock.unlock();
        ///////////////////////////////////////////////////////
        // insert your server code here
        while(true)
        {
            sout << locker << "\n  receiver processing file: " << (msg = pBQ->deQ()).c_str() << unlocker;
            //lock.lock();
            //EndPoint remoteEp = _pFileHandler->getEndPoint();
            //if(pComm->connect(remoteEp.getIP(), remoteEp.getPort()))
            //{
            //  pComm->postMessage(std::string("got file"));
            //  pComm->disconnect();
            //}
            //else
            //  sout << "\n  failed to connect";
            //lock.unlock();

            if(msg == "quit")
                break;
        }
        // end of your code
        ///////////////////////////////////////////////////////
    }
void MockChannel::start()
{
  std::cout << "\n  MockChannel starting up";
  thread_ = std::thread(
    [this] {
    while (!stop_)
    {
      std::cout << "\n  channel deQing message";
	  MessageS msg = sendQ_.deQ();  // will block here so send quit message when stopping
	  std::cout << "\n  channel enQing message";
      recvQ_.enQ(msg);
	  std::cout << msg;
	}
    std::cout << "\n  Server stopping\n\n";
  });
}
示例#3
0
void ClientFile_Proc::run()
{
	GLock<1> lock;
	std::string msg;
	lock.lock();
	BQueue<std::string>* pBQ = _pFileHandler->getQueue();
	//ICommunicator* pComm = _pFileHandler->getCommunicator();
	//EndPoint remoteEp = _pFileHandler->getEndPoint();
	lock.unlock();

	while(true)
	{
		sout << locker << "\n  Client received file: " 
			<< (msg = pBQ->deQ()).c_str() << unlocker;
	}
}
示例#4
0
	void run()
	{
		GLock<1> lock;
		std::string msg;
		lock.lock();
		BQueue<std::string>* pBQ = _pFileHandler->getQueue();
		ICommunicator* pComm = _pFileHandler->getCommunicator();
		EndPoint remoteEp = _pFileHandler->getEndPoint();
		lock.unlock();
		///////////////////////////////////////////////////////
		// enter your server code here
		while(true)
		{
			sout << locker << "\n  sender received file: " 
				<< (msg = pBQ->deQ()).c_str() << unlocker;
			if(msg == "quit")
				break;
		}
		// end of your code
		///////////////////////////////////////////////////////
	}
示例#5
0
void ClientMessage_Proc::run()
{
	GLock<1> lock;
	std::string msg;
	lock.lock();
	BQueue<std::string>* pBQ = _pMsgHandler->getQueue();
	ICommunicator* pComm = _pMsgHandler->getCommunicator();
	EndPoint remoteEp = _pMsgHandler->getEndPoint();
	lock.unlock();
	///////////////////////////////////////////////////////
	// enter your server code here
	while(true)
	{
		msg = pBQ->deQ();
		sout << locker << "\n\n  Client received message: \n" 
			<< msg << unlocker;

		FormMessageHanlder->ReceiveMessage(msg);
	}
	// end of your code
	///////////////////////////////////////////////////////
}
MessageS Recvr::getMessage()
{
  return recvQ_.deQ();
}
MessageS MockChannel::getMessage()
{
	recvQ_.deQ();
	return c1.deQueue();
}