554325746@qq.com
2019-08-23 f62f2cd8fee44ecf7bc54f2635172e48dc348321
util/util.go
@@ -4,7 +4,7 @@
   "basic.com/valib/deliver.git"
   "context"
   "errors"
   "github.com/pierrec/lz4"
   // "github.com/pierrec/lz4"
   "taskpubsub/logger"
)
@@ -48,40 +48,49 @@
// UnCompress uncompress
func UnCompress(in []byte) ([]byte, error) {
   out := make([]byte, 10*len(in))
   n, err := lz4.UncompressBlock(in, out)
   if err != nil {
      logger.Error("uncompress error: ", err)
      return nil, err
   }
   out = out[:n] // uncompressed data
   return out, nil
   return in, nil
   // out := make([]byte, 3*len(in))
   // n, err := lz4.UncompressBlock(in, out)
   // if err != nil {
   //    logger.Error("uncompress error: ", err)
   //    return nil, err
   // }
   // out = out[:n] // uncompressed data
   // return out, nil
}
// Compress compress
func Compress(in []byte) ([]byte, error) {
   out := make([]byte, len(in))
   ht := make([]int, 64<<10) // buffer for the compression table
   n, err := lz4.CompressBlock(in, out, ht)
   if err != nil {
      logger.Error("compress: ", err)
      return nil, err
   }
   if n >= len(in) {
      logger.Error("image is not compressible")
   }
   out = out[:n] // compressed data
   return out, nil
   return in, nil
   // out := make([]byte, len(in))
   // ht := make([]int, 64<<10) // buffer for the compression table
   // n, err := lz4.CompressBlock(in, out, ht)
   // if err != nil {
   //    logger.Error("compress: ", err)
   //    return nil, err
   // }
   // if n >= len(in) {
   //    logger.Error("image is not compressible")
   // }
   // out = out[:n] // compressed data
   // return out, nil
}
// create server
func NewSocketListen(mode int, url string) (socket SocketContext, err error) {
func NewSocketListen(mode int, url string, shm bool) (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 shm{
      socket.Sock = deliver.NewServer(deliver.Mode(mode), url)
   }else{
      socket.Sock = deliver.NewServer(deliver.Mode(mode), url)
   }
   if socket.Sock == nil {
      return socket, errors.New("create listen error")