chenshijun
2019-07-27 b5560d3cae1164f016ca9339592eda6b9008fb9f
util/util.go
@@ -1,11 +1,18 @@
package util
import(
   "basic.com/valib/deliver.git"
   "context"
   "errors"
        "github.com/pierrec/lz4"
        "taskpubsub/logger"
       )
type SocketContext struct {
   Sock    deliver.Deliver
   Context context.Context
   Cancel  context.CancelFunc
}
//  1. oldstring element is not in new  : abandon(delete)
//  2. new element is not in oldstring  : add(add)
@@ -66,3 +73,35 @@
     out = out[:n] // compressed data
         return out, nil
}
// create server
func NewSocketListen(mode int, url string) (socket SocketContext, err error) {
   logger.Info("url is: ", url)
   ctx, cancel := context.WithCancel(context.Background())
   socket.Context = ctx
   socket.Cancel = cancel
   socket.Sock = deliver.NewServer(deliver.Mode(mode), url)
   if socket.Sock == nil {
      return socket, errors.New("create listen error")
   }
   return socket, nil
}
func NewSocketDial(mode int, url string) (socket SocketContext, err error) {
   logger.Info("url is: ", url)
   ctx, cancel := context.WithCancel(context.Background())
   socket.Context = ctx
   socket.Cancel = cancel
   socket.Sock = deliver.NewClient(deliver.Mode(mode), url)
   if socket.Sock == nil {
      return socket, errors.New("create listen error")
   }
   return socket, nil
}