[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ptp-dev] Proxy Protocol
|
On Jun 21, 2007, at 1:08 PM, Feiyi Wang wrote:
Hi Greg -
can you help to clarify a few questions on the wire protocol 2.0
spec? thanks!
- on transaction ID:
is it assumed that first command RMS sends to proxy agent will
start wtih transaction ID 0? and increment by 1 each time a new
command is issued?
No. You should not assume anything about the numbering or ordering of
TIDs, other than that they are unique across all outstanding
commands. I've updated the wiki to this effect.
- on range set notation:
is there a reason you'd write "1-10,4-12,3" instead of "1-12"?
It's an example of a range set with overlapping ranges. It's just to
show that this is legal. Of course you would normally use the simple
version.
- on message format:
Although the length itself is 8 digit hex, the rest of message is
still ASCII encoding, correct? so "00000008:A String" will be
exactly what you will see down the wire ...?
Yes.
- does wire protocol specify what transport protocol and which port
proxy agent will listen to?
No, the wire protocol only specifies the message structure.
The transport protocol is currently TCP/IP, but this will probably
change when I finish adding remote support. It's likely that one of
the options will be to tunnel across an ssh connection. Also, a
static port number is not used. Eclipse generates a dynamic port
number which the proxy connects to (it's passed as a command line
argument to the proxy.)
- if say, we had developed a new proxy agent ... not necessarily
using the C protocol implementation, what would be the best way to
verify that it is speaking the right protocol language? in other
words, any regression/unit tests we can use to validate the
protocol implementation?
There are some RM specific tests in org.eclipse.ptp.proxy.tests that
you could customize. I haven't run these tests for a while, so they
may need to be updated. It would be great to have a more complete set
of generic tests, if that is something you were thinking of doing.
- in the long run, should proxy agent always be launched by each
user-session, terminated when client quit the front end? or some
long running daemon will be in play?
The design is currently aimed at the former. When the proxy starts
up, it should first attempt to discover the state of the system. This
might involve querying a job scheduler, or for a simple runtime like
orte, reading persisted information from a file (the current
implementation doesn't persist anything).
We decided against the long running daemon approach for a few reasons:
- system administrators don't like long running user jobs, unless
they're run through a job scheduler
- it's difficult to consistently persist a deamon (nohup, etc. does
not always work as expected)
- reconnecting to a daemon is problematic
- daemons, particularly those listening for incoming connections, can
be security holes
The current approach doesn't require any special permissions, other
than a normal user would have. We believe this will simplify the
adoption of PTP, particularly in more secure environments.
Hope this helps,
Regards,
Greg
Regards,
Feiyi
Greg Watson wrote:
Hi all,
I've done a major update of the proxy wire protocol description on
the wiki. Hopefully it now describes the 2.0 protocol fairly
accurately. If you find any problems, please let me know.
The URL is here: http://wiki.eclipse.org/index.php/PTP/designs/
rm_proxy
Regards,
Greg
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev