From 91ca2658d546bf5d9857b144e6beefa1019ba972 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期三, 11 九月 2019 18:47:03 +0800
Subject: [PATCH] 合并张蒙的共享内存,增加logger
---
util/util.go | 69 +++++++++++++++++++++++-----------
1 files changed, 46 insertions(+), 23 deletions(-)
diff --git a/util/util.go b/util/util.go
index 1fea4b8..b8fbcea 100644
--- a/util/util.go
+++ b/util/util.go
@@ -4,14 +4,20 @@
"basic.com/valib/deliver.git"
"context"
"errors"
- "github.com/pierrec/lz4"
+
"basic.com/valib/logger.git"
)
+
+const SHMMaxTryCount = 3
type SocketContext struct {
Sock deliver.Deliver
Context context.Context
Cancel context.CancelFunc
+
+ Mode int
+ URL string
+ UseSHM bool
}
// 1. oldstring element is not in new : abandon(delete)
@@ -48,40 +54,57 @@
// 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)
+
+ socket.Mode = mode
+ socket.URL = url
+ socket.UseSHM = shm
+
+ if shm {
+ var err error
+ socket.Sock, err = deliver.NewServerWithError(deliver.Mode(mode), url)
+ if err != nil {
+ logger.Info("TASK CREATE SERVER SHM ERROR: ", err)
+ }
+ } else {
+ socket.Sock = deliver.NewServer(deliver.Mode(mode), url)
+ }
if socket.Sock == nil {
return socket, errors.New("create listen error")
--
Gitblit v1.8.0