config({
  log:{
    time:true
  }
})

port(DIR.IP('tcp://localhost'))
connect(DIR.IP('tcp://localhost:4569'));

function ag() {
  this.goto=null;
  this.root=null;
  this.act = {
    check: function () {
      log('Waiting');
      this.root=myNode();
      var links=link(DIR.IP('%'));
      if (links && links.length) 
        this.goto=links[0];
      else sleep(500);
    },
    move: function () {
      log('Going to '+this.goto);
      moveto(DIR.NODE(this.goto))
    },
    back: function () {
      log('Going back to '+this.root);
      moveto(DIR.NODE(this.root))      
    },
    end: function () {
      log('Terminating');
      kill();
    },
  }
  this.trans = { check:function () { return this.goto?'move':'check' },
                 move:'back',
                 back:'end' }
  this.next = 'check';
}

start()
var t = setTimeout(function () {
  print(create(ag,{},2));
},1000);
