summaryrefslogtreecommitdiffstats
path: root/.gitreview
blob: a3b763c22eaa230ce58b7247538c2763f5435122 (plain)
1
2
3
4
5
6
[gerrit]
host=gerrit.automotivelinux.org
port=29418
project=src/app-framework-binder

defaultbranch=flounder
#75715e } /* Comment.PreprocFile */ .highlight .c1 { color: #75715e } /* Comment.Single */ .highlight .cs { color: #75715e } /* Comment.Special */ .highlight .gd { color: #f92672 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gi { color: #a6e22e } /* Generic.Inserted */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #75715e } /* Generic.Subheading */ .highlight .kc { color: #66d9ef } /* Keyword.Constant */ .highlight .kd { color: #66d9ef } /* Keyword.Declaration */ .highlight .kn { color: #f92672 } /* Keyword.Namespace */ .highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ .highlight .kr { color: #66d9ef } /* Keyword.Reserved */ .highlight .kt { color: #66d9ef } /* Keyword.Type */ .highlight .ld { color: #e6db74 } /* Literal.Date */ .highlight .m { color: #ae81ff } /* Literal.Number */ .highlight .s { color: #e6db74 } /* Literal.String */ .highlight .na { color: #a6e22e } /* Name.Attribute */ .highlight .nb { color: #f8f8f2 } /* Name.Builtin */ .highlight .nc { color: #a6e22e } /* Name.Class */ .highlight .no { color: #66d9ef } /* Name.Constant */ .highlight .nd { color: #a6e22e } /* Name.Decorator */ .highlight .ni { color: #f8f8f2 } /* Name.Entity */ .highlight .ne { color: #a6e22e } /* Name.Exception */ .highlight .nf { color: #a6e22e } /* Name.Function */ .highlight .nl { color: #f8f8f2 } /* Name.Label */ .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ .highlight .nx { color: #a6e22e } /* Name.Other */ .highlight .py { color: #f8f8f2 } /* Name.Property */ .highlight .nt { color: #f92672 } /* Name.Tag */ .highlight .nv { color: #f8f8f2 } /* Name.Variable */ .highlight .ow { color: #f92672 } /* Operator.Word */ .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ .highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ .highlight .mf { color: #ae81ff } /* Literal.Number.Float */ .highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ .highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ .highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ .highlight .sa { color: #e6db74 } /* Literal.String.Affix */ .highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
Run the supervisor on the target for the public IP:
---------------------------------------------------

	# afs-supervisor --port 1619 --token HELLO

Run the client
--------------

	# afb-client-demo -H host:1619/api?token=HELLO


verbs that can be run, all are of the API 'supervisor':
-------------------------------------------------------

	- discover

		send SIGHUP to daemons not recorded to make them connected

	- list

		list the connected daemons

	- config        {"pid":X}

		get the configuration of the daemon of pid X

	- sessions      {"pid":X}

		get the active sessions and token of the daemon of pid X

	- session-close {"pid":X, "uuid":UUID}

		closes the sessions of uuid UUID for the daemon of pid X

	- exit          {"pid":X,"code":Y}

		exit the daemon of pid X with optional code Y (default 0)

	- debug-wait    {"pid":X}

		make the daemon of pid X wait for a signal SIGINT

	- debug-break   {"pid":X}

		make the daemon of pid X self killing with SIGINT

	- do            {"pid":X,"api":A,"verb":V,"args":A}

		execute the API/VERB(ARGS) for the daemon of pid X

		useful for (s/g)etting monitor info. ex: monitor/get({"apis":true})

		bound to the current client session (to be checked: usurpation of session?)

	- trace         {"pid":X, ...}

		like monitor/trace but not bound to session (in the future monitor/trace
		will be bound to sessions)

		allows to trace specific session or any session

		the pid isn't returned in the event (not sure to want it but open...)

		use "name" and "tag" feature of "trace" to discriminate events on the client side.

Examples of dialog:
-------------------

supervisor discover
ON-REPLY 1:supervisor/discover: OK
{
  "jtype":"afb-reply",
  "request":{
    "status":"success",
    "uuid":"22563ce6-e07f-4284-91f8-e7eb7ec4ef21"
  }
}


supervisor list
ON-REPLY 2:supervisor/list: OK
{
  "response":{
    "7054":{
      "pid":7054,
      "uid":1001,
      "gid":1001,
      "id":"NoLabel",
      "label":"NoLabel",
      "user":"1001"
    }
  },
  "jtype":"afb-reply",
  "request":{
    "status":"success"
  }
}



supervisor config {"pid":7054}
ON-REPLY 3:supervisor/config: OK
{
  "response":{
    "console":".\/AFB-console.out",
    "rootdir":".",
    "roothttp":"..\/test",
    "rootbase":"\/opa",
    "rootapi":"\/api",
    "workdir":".",
    "uploaddir":".",
    "token":"",
    "name":null,
    "aliases":[
      "\/monitoring"
    ],
    "dbus_clients":[
    ],
    "dbus_servers":[
    ],
    "ws_clients":[
    ],
    "ws_servers":[
    ],
    "so_bindings":[
    ],
    "ldpaths":[
      "\/opt\/jobol\/lib64\/afb"
    ],
    "weak_ldpaths":[
    ],
    "calls":[
    ],
    "exec":[
    ],
    "httpdPort":5555,
    "cacheTimeout":100000,
    "apiTimeout":20,
    "cntxTimeout":32000000,
    "nbSessionMax":10,
    "mode":"local",
    "tracereq":"no",
    "traceditf":"no",
    "tracesvc":"no",
    "traceevt":"no",
    "traceses":"no",
    "no_ldpaths":false,
    "noHttpd":false,
    "background":false,
    "monitoring":true,
    "random_token":false
  },
  "jtype":"afb-reply",
  "request":{
    "status":"success"
  }
}





supervisor sessions {"pid":7054}
ON-REPLY 4:supervisor/sessions: OK
{
  "response":{
    "2273ff8d-ee46-4059-959b-0f90fa90f25e":{
      "token":""
    },
    "22563ce6-e07f-4284-91f8-e7eb7ec4ef21":{
      "token":""
    }
  },
  "jtype":"afb-reply",
  "request":{
    "status":"success"
  }
}





supervisor do {"pid":7054,"api":"monitor","verb":"get","args":{"apis":true}}
.....VERY LONG RESPONSE.....




supervisor trace { "pid": 7054, "add": { "request": "common" } }
ON-REPLY 6:supervisor/trace: OK
{
  "jtype":"afb-reply",
  "request":{
    "status":"success"
  }
}





ON-EVENT supervisor/trace:
{
  "event":"supervisor\/trace",
  "data":{
    "time":"34353.598120",
    "tag":"trace",
    "type":"request",
    "id":34,
    "request":{
      "index":1,
      "api":"ave",
      "verb":"ping",
      "action":"begin",
      "session":"be67cfb8-a346-47c1-ac63-65aaff3599bf"
    }
  },
  "jtype":"afb-event"
}
ON-EVENT supervisor/trace:
{
  "event":"supervisor\/trace",
  "data":{
    "time":"34353.598182",
    "tag":"trace",
    "type":"request",
    "id":35,
    "request":{
      "index":1,
      "api":"ave",
      "verb":"ping",
      "action":"json",
      "session":"be67cfb8-a346-47c1-ac63-65aaff3599bf"
    },
    "data":{
      "result":"true"
    }
  },
  "jtype":"afb-event"
}
ON-EVENT supervisor/trace:
{
  "event":"supervisor\/trace",
  "data":{
    "time":"34353.598214",
    "tag":"trace",
    "type":"request",
    "id":36,
    "request":{
      "index":1,
      "api":"ave",
      "verb":"ping",
      "action":"success",
      "session":"be67cfb8-a346-47c1-ac63-65aaff3599bf"
    },
    "data":{
      "result":"Some String",
      "info":"Ping Binder Daemon tag=pingSample count=1 query=\"true\""
    }
  },
  "jtype":"afb-event"
}
ON-EVENT supervisor/trace:
{
  "event":"supervisor\/trace",
  "data":{
    "time":"34353.598292",
    "tag":"trace",
    "type":"request",
    "id":37,
    "request":{
      "index":1,
      "api":"ave",
      "verb":"ping",
      "action":"end",
      "session":"be67cfb8-a346-47c1-ac63-65aaff3599bf"
    }
  },
  "jtype":"afb-event"
}


Usefull commands:
-----------------

  TARGET=...

  afb-client-demo -H ws://$TARGET:1619/api?token=HELLO\&uuid=HELLO supervisor list

  afb-client-demo -H ws://$TARGET:1619/api?token=HELLO\&uuid=HELLO config '{"pid":XXXX}'