Commit bbdcf0b0 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent c09a1bc3
...@@ -468,7 +468,7 @@ func openByURL(ctx context.Context, u *url.URL, opt *zodb.DriverOptions) (_ zodb ...@@ -468,7 +468,7 @@ func openByURL(ctx context.Context, u *url.URL, opt *zodb.DriverOptions) (_ zodb
func (z *zeo) Close() error { func (z *zeo) Close() error {
err := z.link.Close() err := z.link.Close()
if z.watchq != nil { if z.watchq != nil { // XXX -> into zlink.shutdown instead? (so it is closed after link is closed)?
close(z.watchq) close(z.watchq)
} }
return err return err
......
...@@ -87,6 +87,11 @@ func (zl *zLink) start() { ...@@ -87,6 +87,11 @@ func (zl *zLink) start() {
go zl.serveRecv() go zl.serveRecv()
} }
// StartServe starts serving calls from remote peer according to notifyTab and serveTab.
//
// XXX it would be better for zLink to instead provide .Recv() to receive
// peer's requests and then serve is just loop over Recv and decide what to do
// with messages.
func (zl *zLink) StartServe( func (zl *zLink) StartServe(
notifyTab map[string]func(interface{}) error, notifyTab map[string]func(interface{}) error,
serveTab map[string]func(context.Context, interface{}) interface{}, serveTab map[string]func(context.Context, interface{}) interface{},
...@@ -119,6 +124,7 @@ func (zl *zLink) shutdown(err error) { ...@@ -119,6 +124,7 @@ func (zl *zLink) shutdown(err error) {
rxc <- msg{arg: nil} // notify link was closed XXX ok? or err explicitly? rxc <- msg{arg: nil} // notify link was closed XXX ok? or err explicitly?
} }
// XXX if err != nil -> watchq <- zodb.EventError{err}
// XXX close watcher // XXX close watcher
}) })
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment