mirror of
https://github.com/buger/goreplay.git
synced 2024-04-21 12:32:02 +00:00
Ensure that tcp-output do not loose messages when reconnecting
This commit is contained in:
+1
-1
@@ -11,7 +11,7 @@ RUN echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true
|
||||
RUN apt-get install oracle-java8-installer -y
|
||||
|
||||
RUN apt-get install flex bison -y
|
||||
RUN wget http://www.tcpdump.org/release/libpcap-1.7.4.tar.gz && tar xzf libpcap-1.7.4.tar.gz && cd libpcap-1.7.4 && ./configure && make install
|
||||
RUN wget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz && tar xzf libpcap-1.8.1.tar.gz && cd libpcap-1.8.1 && ./configure && make install
|
||||
RUN go get github.com/google/gopacket
|
||||
RUN go get -u github.com/golang/lint/golint
|
||||
|
||||
|
||||
+5
-3
@@ -32,7 +32,7 @@ func NewTCPOutput(address string, config *TCPOutputConfig) io.Writer {
|
||||
o.address = address
|
||||
o.config = config
|
||||
|
||||
o.buf = make(chan []byte, 100)
|
||||
o.buf = make(chan []byte, 1000)
|
||||
if Settings.outputTCPStats {
|
||||
o.bufStats = NewGorStat("output_tcp")
|
||||
}
|
||||
@@ -66,11 +66,13 @@ func (o *TCPOutput) worker() {
|
||||
defer conn.Close()
|
||||
|
||||
for {
|
||||
conn.Write(<-o.buf)
|
||||
data := <-o.buf
|
||||
conn.Write(data)
|
||||
_, err := conn.Write([]byte(payloadSeparator))
|
||||
|
||||
if err != nil {
|
||||
log.Println("Lost connection with aggregator instance, reconnecting")
|
||||
log.Println("INFO: TCP output connection closed, reconnecting")
|
||||
o.buf <- data
|
||||
go o.worker()
|
||||
break
|
||||
}
|
||||
|
||||
Vendored
+1
-2
@@ -46,7 +46,6 @@
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "U2Ydh7vEAKlN0Wq22n1JpefF7uY=",
|
||||
"origin": "github.com/buger/goreplay/vendor/github.com/google/gopacket",
|
||||
"path": "github.com/google/gopacket",
|
||||
"revision": "b09bf408520f7646e29b7033d9adb00ed779a1c4",
|
||||
"revisionTime": "2016-05-12T15:06:07Z"
|
||||
@@ -94,5 +93,5 @@
|
||||
"revisionTime": "2017-02-01T04:15:14Z"
|
||||
}
|
||||
],
|
||||
"rootPath": "github.com/buger/gor"
|
||||
"rootPath": "github.com/buger/goreplay"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user