aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorLars Ingebrigtsen2016-02-22 15:06:33 +1100
committerLars Ingebrigtsen2016-02-22 15:06:33 +1100
commitf577f59a5216bc7708bb840f5eac3e82950e81e8 (patch)
treec154db8bc4b920ea06c98efb7fc407562753b2d6 /doc
parent5df6e3212bbb3213d1704dab89299a96b60eac6d (diff)
parent0d3c0f6f906d5494f76b8b686bae72853b1f729c (diff)
downloademacs-f577f59a5216bc7708bb840f5eac3e82950e81e8.tar.gz
emacs-f577f59a5216bc7708bb840f5eac3e82950e81e8.zip
Fix merge conflicts in network-stream-tests.el
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/processes.texi29
-rw-r--r--doc/misc/emacs-gnutls.texi12
2 files changed, 38 insertions, 3 deletions
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index f660b159386..79cebaa79fa 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -2415,8 +2415,33 @@ without waiting for the connection to complete. When the connection
2415succeeds or fails, Emacs will call the sentinel function, with a 2415succeeds or fails, Emacs will call the sentinel function, with a
2416second argument matching @code{"open"} (if successful) or 2416second argument matching @code{"open"} (if successful) or
2417@code{"failed"}. The default is to block, so that 2417@code{"failed"}. The default is to block, so that
2418@code{make-network-process} does not return until the connection 2418@code{make-network-process} does not return until the connection has
2419has succeeded or failed. 2419succeeded or failed.
2420
2421If you're setting up an asynchronous TLS connection, you have to also
2422provide the @code{:tls-parameters} parameter (see below).
2423
2424Depending on the capabilities of Emacs, how asynchronous
2425@code{:nowait} is may vary. The three elements that may (or may not)
2426be done asynchronously are domain name resolution, socket setup, and
2427(for TLS connections) TLS negotiation.
2428
2429Many functions that interact with process objects, (for instance,
2430@code{process-datagram-address}) rely on them at least having a socket
2431before they can return a useful value. These functions will block
2432until the socket has achieved the desired status. The recommended way
2433of interacting with asynchronous sockets is to place a sentinel on the
2434process, and not try to interact with it before it has changed status
2435to @samp{"run"}. That way, none of these functions will block.
2436
2437@item :tls-parameters
2438When opening a TLS connection, this should be where the first element
2439is the TLS type (which should either be @code{gnutls-x509pki} or
2440@code{gnutls-anon}, and the remaining elements should form a keyword
2441list acceptable for @code{gnutls-boot}. (This keyword list can be
2442optained from the @code{gnutls-boot-parameters} function.) The TLS
2443connection will then be negotiated after completing the connection to
2444the host.
2420 2445
2421@item :stop @var{stopped} 2446@item :stop @var{stopped}
2422If @var{stopped} is non-@code{nil}, start the network connection or 2447If @var{stopped} is non-@code{nil}, start the network connection or
diff --git a/doc/misc/emacs-gnutls.texi b/doc/misc/emacs-gnutls.texi
index 1a850c68235..115727fb8ee 100644
--- a/doc/misc/emacs-gnutls.texi
+++ b/doc/misc/emacs-gnutls.texi
@@ -173,7 +173,7 @@ Just use @code{open-protocol-stream} or @code{open-network-stream}
173You should not have to use the @file{gnutls.el} functions directly. 173You should not have to use the @file{gnutls.el} functions directly.
174But you can test them with @code{open-gnutls-stream}. 174But you can test them with @code{open-gnutls-stream}.
175 175
176@defun open-gnutls-stream name buffer host service 176@defun open-gnutls-stream name buffer host service &optional nowait
177This function creates a buffer connected to a specific @var{host} and 177This function creates a buffer connected to a specific @var{host} and
178@var{service} (port number or service name). The parameters and their 178@var{service} (port number or service name). The parameters and their
179syntax are the same as those given to @code{open-network-stream} 179syntax are the same as those given to @code{open-network-stream}
@@ -181,6 +181,10 @@ syntax are the same as those given to @code{open-network-stream}
181Manual}). The connection process is called @var{name} (made unique if 181Manual}). The connection process is called @var{name} (made unique if
182necessary). This function returns the connection process. 182necessary). This function returns the connection process.
183 183
184The @var{nowait} parameter means that the scoket should be
185asynchronous, and the connection process will be returned to the
186caller before TLS negotiation has happened.
187
184@lisp 188@lisp
185;; open a HTTPS connection 189;; open a HTTPS connection
186(open-gnutls-stream "tls" "tls-buffer" "yourserver.com" "https") 190(open-gnutls-stream "tls" "tls-buffer" "yourserver.com" "https")
@@ -191,6 +195,12 @@ necessary). This function returns the connection process.
191 195
192@end defun 196@end defun
193 197
198@findex gnutls-asynchronous-parameters
199If called with @var{nowait}, the process is returned immediately
200(before connecting to the server). In that case, the process object
201is told what parameters to use when negotiating the connection
202by using the @code{gnutls-asynchronous-parameters} function.
203
194The function @code{gnutls-negotiate} is not generally useful and it 204The function @code{gnutls-negotiate} is not generally useful and it
195may change as needed, so please see @file{gnutls.el} for the details. 205may change as needed, so please see @file{gnutls.el} for the details.
196 206