Example #1
0
    void checkSendReceive()
    {
        report(0,"check matrix send/receive");
        Port portIn;
        Port portOut;

        MThread2 *receiverThread=new MThread2(&portIn);
        MThread1 *senderThread=new MThread1(&portOut);

        portOut.open("/harness_sig/mtest/o");
        portIn.open("/harness_sig/mtest/i");

        Network::connect("/harness_sig/mtest/o", "/harness_sig/mtest/i");

        receiverThread->start();
        senderThread->start();

        receiverThread->stop();
        senderThread->stop();

        portOut.close();
        portIn.close();

        checkTrue(senderThread->success, "Send matrix test");
        checkTrue(receiverThread->success, "Receive matrix test");

        delete receiverThread;
        delete senderThread;
    }
Example #2
0
    /*
    * Close function, to perform cleanup.
    */
    bool close()
    {
        vergencePort.close();
		handlerPort.close();
		suspendPort.close();
		return true;
    }
Example #3
0
 bool close()
 {
     // order does matter!
     imageInPort.close();
     coordPort.close();        
     imageOutPort.close();
     return true;
 }
Example #4
0
    virtual void testCloseOpenRepeats() {
        report(0,"check that opening-closing-opening etc is ok...");
        report(0,"non-buffered port:");
        Port p;
        p.open("/test1");
        p.open("/test2");
        p.open("/test3");
        p.close();
        p.open("/test4");
        p.close();
        report(0,"buffered port:");
        BufferedPort<Bottle> p2, p3;
        p2.open("/test1");
        p2.open("/test2");
        p2.open("/in");
        p3.open("/out");
        Network::connect("/out","/in");
        p3.prepare().fromString("10 20 30");
        p3.write();
        report(0,"wait for input...");
        p2.read(true);
        report(0,"... got it");
        p3.prepare().fromString("10 20 30");
        p3.write();
        p2.open("/test1");
        p3.open("/test2");
        Network::connect("/test2","/test1");
        p3.prepare().fromString("10 20 30");
        p3.write();
        report(0,"wait for input...");
        p2.read(true);
        report(0,"... got it");

        report(0,"fast loop on temporary port");
        for (int i=0; i<20; i++) {
            Port p;
            Port p2;
            p.open("...");
            p2.open("...");
            p.close();
        }
        Port pa;
        pa.open("...");
        for (int i=0; i<20; i++) {
            Port p;
            p.enableBackgroundWrite(true);
            p.open("...");
            NetworkBase::connect(p.getName(),pa.getName());
            Bottle b("10 20 30");
            p.write(b);
            pa.read(b);
            p.close();
        }
    }
Example #5
0
    bool close()
    {        
        // Close ports
        rpcPort.close();

        imInPort.close();
        imOutPort.close();
        tempOutPort.close();
        coordsInPort.close();
        trackInPort.close();
        coordsOutPort.close();

        return true;
    }
    bool close()
    {
        igaze->restoreContext(startup_context_gaze);
        drvGaze.close();

        iarm->restoreContext(startup_context_arm);
        drvArm.close();

        imgLPortIn.close();
        imgRPortIn.close();
        imgLPortOut.close();
        imgRPortOut.close();
        rpcPort.close();
        return true;
    }
Example #7
0
    virtual bool close()
    {
        rpcPort.interrupt();
        rpcPort.close();
        thread.stop();

        velThread.stop();
        velPort.interrupt();
        velPort.close();

        velInitPort.interrupt();
        velInitPort.close();

        return true;
    }
Example #8
0
    void close()
    {
        mutex.wait();

        if (dump_code)
        {
            fclose(fout_code);
        }

        port_out_code.close();
        port_out_img.close();

        BufferedPort<Image>::close();

        mutex.post();
    }
Example #9
0
 bool close(){
     cout << "closing .." << endl;
     vGrabber.close();
     outPort.close();
     handlerPort.close();
     return true;
 }
Example #10
0
static void companion_sigint_handler(int sig) {
    double now = Time::now();
    static double firstCall = now;
    static bool showedMessage = false;
    static bool unregistered = false;
    done = 1;
    //sleep(1);
    if (now-firstCall<2) {
        Port *port = companion_active_port;
        if (!showedMessage) {
            showedMessage = true;
            //YARP_LOG_INFO("Interrupting...");
        }
        if (companion_unregister_name!="") {
            if (!unregistered) {
                unregistered = true;
                NetworkBase::unregisterName(companion_unregister_name);
                if (port!=NULL) {
                    NetworkBase::unregisterName(port->getName());
                }
                exit(1);
            }
        }
        if (port!=NULL) {
            port->interrupt();
#ifndef YARP2_WINDOWS
            port->close();
#endif
        }
    } else {
        fprintf(stderr,"Aborting...\n");
        exit(1);
    }
}
Example #11
0
    bool close() override
    {
        t->stop();

        if (type==bottle)
        {
            p_bottle->interrupt();
            p_bottle->close();
            delete p_bottle;
        }
        else
        {
            p_image->interrupt();
            p_image->close();
            delete p_image;
        }

        rpcPort.interrupt();
        rpcPort.close();

        delete t;
        delete q;

        return true;
    }
Example #12
0
	virtual void threadRelease() {

		/* Stop and close ports */
		cportL->interrupt();
		cportR->interrupt();
		susPort->interrupt();

		cportL->close();
		cportR->close();
		susPort->close();

		delete cportL;
		delete cportR;
		delete susPort;

		/* stop motor interfaces and close */
		gaze->stopControl();
		clientGazeCtrl.close();
		carm->stopControl();
		clientArmCart.close();

		robotTorso.close();
		robotHead.close();
		robotArm.close();

	}
Example #13
0
std::string TcpRosStream::rosToKind(const char *rosname) {
    if (ConstString(rosname)=="") return "";
    std::map<std::string, std::string> kinds = rosToKind();

    if (kinds.find(rosname)!=kinds.end()) {
        return kinds[rosname];
    }
    Port port;
    port.openFake("yarpidl_rosmsg");
    if (port.addOutput("/typ")) {
        Bottle cmd, resp;
        cmd.addString(ConstString("twiddle ") + rosname);
        dbg_printf("QUERY yarpidl_rosmsg %s\n", cmd.toString().c_str());
        port.write(cmd,resp);
        dbg_printf("GOT yarpidl_rosmsg %s\n", resp.toString().c_str());
        ConstString txt = resp.get(0).asString();
        if (txt!="?") return txt;
    }
    port.close();
    if (ConstString(rosname)!="") {
        fprintf(stderr, "Do not know anything about type '%s'\n", rosname);
        fprintf(stderr, "Could not connect to a type server to look up type '%s'\n", rosname);
        ::exit(1);
    }
    return "";
}
Example #14
0
    virtual bool close()
    {
        rpcPort.interrupt();
        rpcPort.close();

        return true;
    }
Example #15
0
int client(int nframes)
{
    double delay = 0;
    int count = 0;
    int wait = 10;

    Port port;
    port.open("/profiling/port2");
    while(!Network::connect("/profiling/port","/profiling/port2"))
        {
            fprintf(stderr, "Waiting for connection\n");
            Time::delay(0.5);
        }

    while(count<nframes)
        {
            Bottle datum;
            port.read(datum);
            double t=datum.get(0).asDouble();
            double now=Time::now();
            delay+=(now-t)*1000;
            count++;
            // remove this to spare cpu time
            fprintf(stderr, "%lf\n", (now-t)*1000);
        }

    port.close();

    fprintf(stderr, "Received: %d average latency %.3lf[ms]\n", 
            count, delay/count);
    return 0;
}
Example #16
0
	virtual bool close(){
		rpcPort->close();
		thr->stop();
		delete rpcPort;
		delete thr;
		return true;
	}
Example #17
0
	virtual void threadRelease(){
		armPlan->interrupt(); armPred->interrupt();
		armPlan->close(); armPred->close();
		delete armPlan; delete armPred;
		armLocJ->interrupt(); headLoc->interrupt();
		armLocJ->close(); headLoc->close();
		delete armLocJ; delete headLoc;
		gsl_rng_free(r);
		//delete r;
		//clientGazeCtrl->close();
		//robotDevice->close();
		//delete igaze;
		//delete pos;
		//delete enc;
		//delete command;
		//delete tmp;
	}
Example #18
0
    bool close() {
        if (action != NULL)
            delete action;

        inPort.close();
        rpcPort.close();

        return true;
    }
Example #19
0
 /*
 * Close function, to perform cleanup.
 */
 bool close()
 {
     cout<<"Calling close function\n";
     handlerPort.close();
     gazeIn.interrupt();
     gazeIn.close();
     speechOut.close();
     return true;
 }
Example #20
0
   virtual void close()
   {
        mutex.wait();
        if(ipl!=NULL)
            cvReleaseImage(&ipl);

        if(dump_sift)
            fclose(fout_sift);

        //some closure :P
        if(sparse_coder!=NULL)
            delete sparse_coder;

        port_out_code.close();
        port_out_img.close();
        BufferedPort<Image>::close();
        mutex.post();
   }
Example #21
0
    virtual bool close()
    {
        eT->stop();
        delete eT;

        rpcPort.interrupt();
        rpcPort.close();

        return true;
    }
Example #22
0
    virtual bool close()
    {
        rpcPort.interrupt();
        rpcPort.close();

        thr->stop();
        delete thr;

        return true;
    }
Example #23
0
 /*
 * Close function, to perform cleanup.
 */
 bool close()
 {
     cout<<"Calling close function\n";
     handlerPort.close();
     imageIn.interrupt();
     imageIn.close();
     imageOut.close();
     targetPort.close();
     
     return true;
 }
Example #24
0
 virtual void testReaderHandler() {
     report(0,"check reader handler...");
     Port in;
     Port out;
     DelegatedCallback callback;
     out.open("/out");
     in.open("/in");
     Network::connect("/out","/in");
     PortReaderBuffer<Bottle> reader;
     reader.setStrict();
     reader.attach(in);
     reader.useCallback(callback);
     Bottle src("10 10 20");
     out.write(src);
     callback.produce.wait();
     checkEqual(callback.saved.size(),3,"object came through");
     reader.disableCallback();
     out.close();
     in.close();
 }
Example #25
0
 bool close()
 {
     portDispIn.close();
     portDispOut.close();
     portOutPoints.close();
     portImgIn.close();
     portContour.close();
     portSFM.close();
     portRpc.close();
     return true;
 }
Example #26
0
    bool close()
    {
        if(caffePort!=NULL)
        {
            caffePort->close();
            delete caffePort;
        }

        rpcPort.close();

        return true;
    }
Example #27
0
int main() {
    Network yarp;
    Bottle bot;
    Port input;
    input.open("/receiver");
    // usually, we create connections externally, but just for this example...
    Network::connect("/sender","/receiver");
    input.read(bot);
    printf("Got message: %s\n", bot.toString().c_str());
    input.close();
    return 0;
}
Example #28
0
/** 
* clean up the threads, close the ports
*/
    virtual bool close()
    {
        for (int i=0;i<numLearners();i++)
            deleteLearner(i);

        if (openPorts) {
            dataReader.close();
            rpcPort.close();
            openPorts=false;
        }
        return true;
    }
Example #29
0
 void checkPortRegister() {
     report(0,"checking port registration...");
     NameClient& nic = NameClient::getNameClient();
     Port p;
     Contact addr1 = nic.queryName("/check/port");
     checkFalse(addr1.isValid(),"got an address");
     p.open("/check/port");
     Contact addr2 = nic.queryName("/check/port");
     checkTrue(addr2.isValid(),"got no address");
     p.close();
     Contact addr3 = nic.queryName("/check/port");
     checkFalse(addr3.isValid(),"got an address");
 }
Example #30
0
    virtual bool close()
    {
        if (control_thr)
        {
            control_thr->stop();
            delete control_thr;
        }

        rpcPort.interrupt();
        rpcPort.close();

        return true;
    }