summaryrefslogtreecommitdiff
path: root/doc/design/external_special_remote_protocol
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-09-09 17:03:09 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-09-09 17:03:09 -0400
commitefa26b157e79005aee309c77c07974afe199ee75 (patch)
tree6d5d1ae2d9bd01dd6ee66a2089448164ecc00b31 /doc/design/external_special_remote_protocol
parent09b050b24597a21343f712e4bc7b6f8660113d63 (diff)
response
Diffstat (limited to 'doc/design/external_special_remote_protocol')
-rw-r--r--doc/design/external_special_remote_protocol/comment_18_a0ed457b1b0d71747b6cf0c45897b5e1._comment19
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/design/external_special_remote_protocol/comment_18_a0ed457b1b0d71747b6cf0c45897b5e1._comment b/doc/design/external_special_remote_protocol/comment_18_a0ed457b1b0d71747b6cf0c45897b5e1._comment
new file mode 100644
index 000000000..f56fa6410
--- /dev/null
+++ b/doc/design/external_special_remote_protocol/comment_18_a0ed457b1b0d71747b6cf0c45897b5e1._comment
@@ -0,0 +1,19 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""re: Stream encoding"""
+ date="2015-09-09T20:44:38Z"
+ content="""
+@sjvdwalt, git-annex does not specify or expect any character encoding to be used
+for this protocol. A robust external special remote shouldn't assume any
+particular character encoding, either.
+
+Lines will be terminated with '\n' (0xA), and words in lines are
+delimited by an ascii space (0x20). The keywords in the protocol are ascii
+too of course. Any values can contain an arbitrary sequence of bytes that may
+or may not be able to be decoded using the current character encoding.
+
+IIRC, character encodings like UTF8 that encode a character to multiple
+bytes avoid ever using 0x0 to 0xFF when doing so. So, every ascii space and
+newline are unambiguously such, and it's safe to split on them even though
+no encoding is specified.
+"""]]