aboutsummaryrefslogtreecommitdiff
path: root/rpc.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-03-23 16:05:38 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-03-23 16:05:38 +0100
commit62fa5c31ba39ebf968f98a7ee46525f14c0ea97c (patch)
treead67f424dec70a538635542127e96bb95ffe801a /rpc.go
parent955e9ff0855feeb94d8e83c97362c172ced2c663 (diff)
Rewrite into config-les setup
Diffstat (limited to 'rpc.go')
-rw-r--r--rpc.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/rpc.go b/rpc.go
new file mode 100644
index 0000000..589ca92
--- /dev/null
+++ b/rpc.go
@@ -0,0 +1,36 @@
+package main
+
+import (
+ "crypto/rsa"
+ "encoding/gob"
+ "log"
+ "net/rpc"
+)
+
+type GoXY struct{}
+
+func init() {
+ gob.Register(rsa.PrivateKey{})
+ rpc.Register(GoXY{})
+}
+
+func (GoXY) Add(e Entry, _ *struct{}) error {
+ log.Println("Add route", e)
+ defer route.Save(*data)
+ route[e.ServerName] = e
+ route.Restore()
+ return nil
+}
+
+func (GoXY) Del(e Entry, _ *struct{}) error {
+ log.Println("Del route", e)
+ defer route.Save(*data)
+ delete(route, e.ServerName)
+ route.Restore()
+ return nil
+}
+
+func (GoXY) List(_ struct{}, r *Route) error {
+ *r = route
+ return nil
+}