summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/ftrvxmtrx/fd/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/ftrvxmtrx/fd/README.md')
-rw-r--r--vendor/github.com/ftrvxmtrx/fd/README.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/github.com/ftrvxmtrx/fd/README.md b/vendor/github.com/ftrvxmtrx/fd/README.md
new file mode 100644
index 0000000..7a8a239
--- /dev/null
+++ b/vendor/github.com/ftrvxmtrx/fd/README.md
@@ -0,0 +1,25 @@
+# fd
+
+Package fd provides a simple API to pass file descriptors
+between different OS processes.
+
+It can be useful if you want to inherit network connections
+from another process without closing them.
+
+Example scenario:
+
+ * Running server receives a "let's upgrade" message
+ * Server opens a Unix domain socket for the "upgrade"
+ * Server starts a new copy of itself and passes Unix domain
+ socket name
+ * New copy starts reading data from the socket
+ * Server sends its state over the socket, also sending the number
+ of network connections to inherit, then it sends those connections
+ using fd.Put()
+ * New server copy reads the state and inherits connections using fd.Get(),
+ checks that everything is OK and writes an "OK" message to the socket
+ * Server receives "OK" message and kills itself
+
+## Documentation
+
+[fd on godoc.org](http://godoc.org/github.com/ftrvxmtrx/fd)