Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2009-03-04 01:58:27 +0000
committereutarass2009-03-04 01:58:27 +0000
commit88caf8c9c877b34d651b15e963d9f666c8027fdc (patch)
tree5eaf883a57061fa05844f8c674fff4ae844edd79 /docs/TCF Specification.html
parent72723936ad2c9e203c577fa9f2645c564bdef0d3 (diff)
downloadorg.eclipse.tcf-88caf8c9c877b34d651b15e963d9f666c8027fdc.tar.gz
org.eclipse.tcf-88caf8c9c877b34d651b15e963d9f666c8027fdc.tar.xz
org.eclipse.tcf-88caf8c9c877b34d651b15e963d9f666c8027fdc.zip
Implemented better handling of unrecognized commands in TCF protocol: instead of terminating a connection, peers now can send special "command is not recognized" message.
Added TCF error code "command is not recognized". Fixed agent build error on CygWin.
Diffstat (limited to 'docs/TCF Specification.html')
-rw-r--r--docs/TCF Specification.html12
1 files changed, 7 insertions, 5 deletions
diff --git a/docs/TCF Specification.html b/docs/TCF Specification.html
index ade4f1fe6..d86eb5791 100644
--- a/docs/TCF Specification.html
+++ b/docs/TCF Specification.html
@@ -540,7 +540,8 @@ string as returned by Service.getName().</p>
<p>Command name interpretation depends on a service.</p>
<p>A command should always be answered with result packed. Result does not have to
-be positive &ndash; it can include an error code, but there always must be one. Since client
+be positive &ndash; it can include an error code, or it can be special "N" result that indicates that command was not recognized,
+but there always must be one. Since client
cannot detect that a response is missing, if for some reasons peer is not able to
answer a command, it should consider such situation a fatal communication error and
it must shutdown the communication channel. It is not necessary to wait for result
@@ -554,13 +555,14 @@ store the requests and time to process them.</p>
<pre><b><font face="Courier New" size=2 color=#333399>
<i>&lt;result&gt;</i>
+ &rArr; N &bull; <i>&lt;token&gt;</i> &bull;
&rArr; R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;byte array: result data&gt;</i>
- &rArr; P &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;byte array: result data&gt;</i>
+ &rArr; P &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;byte array: progress data&gt;</i>
</font></b></pre>
-<p>Result packets start with string &ldquo;P&rdquo; for intermediate result and &ldquo;R&rdquo; for final
-result. Receiving of &ldquo;R&rdquo; result concludes execution of corresponding command.
-There should be exactly one &ldquo;R&rdquo; result for each command. In addition, command execution can produce any number of
+<p>Result packets start with string &ldquo;P&rdquo; for intermediate result, &ldquo;R&rdquo; for final
+result, and &ldquo;N&rdquo; if command is not recognized. Receiving of &ldquo;R&rdquo; or &ldquo;N&rdquo; result concludes execution of corresponding command.
+There should be exactly one &ldquo;R&rdquo; or &ldquo;N&rdquo; result for each command. In addition, command execution can produce any number of
intermediate &ldquo;P&rdquo; results. &ldquo;P&rdquo; results can be sent before &ldquo;R&rdquo;, and it can serve, for
example, as command execution progress report when execution takes long time.</p>

Back to the top