From 42e77391bf4224c7eb5a8f88e690781b36b3b41d Mon Sep 17 00:00:00 2001
From: Androlo <andreas@erisindustries.com>
Date: Wed, 19 Aug 2015 17:15:06 +0100
Subject: [PATCH] temp disable ping/pong for ws and up buffer size to default

---
 README.md                    |  4 ++--
 erisdb/serve.go              |  2 +-
 server/config.go             |  4 ++--
 server/websocket.go          | 43 ++++++++++++------------------------
 test/server/ws_burst_test.go |  4 ++--
 5 files changed, 21 insertions(+), 36 deletions(-)

diff --git a/README.md b/README.md
index e3744866..d2bbd08c 100644
--- a/README.md
+++ b/README.md
@@ -144,8 +144,8 @@ json_rpc_endpoint="/rpc"
 [web_socket]
 websocket_endpoint="/socketrpc"
 max_websocket_sessions=50
-read_buffer_size = 2048
-write_buffer_size = 2048
+read_buffer_size = 4096
+write_buffer_size = 4096
 [logging]
 console_log_level="info"
 file_log_level="warn"
diff --git a/erisdb/serve.go b/erisdb/serve.go
index 7fdd1eb6..2e9a4999 100644
--- a/erisdb/serve.go
+++ b/erisdb/serve.go
@@ -14,7 +14,7 @@ import (
 	"path"
 )
 
-const ERISDB_VERSION = "0.11.2"
+const ERISDB_VERSION = "0.11.3"
 const TENDERMINT_VERSION = "0.5.0"
 
 var log = log15.New("module", "eris/erisdb_server")
diff --git a/server/config.go b/server/config.go
index 0faa6572..bd84d476 100644
--- a/server/config.go
+++ b/server/config.go
@@ -73,8 +73,8 @@ func DefaultServerConfig() *ServerConfig {
 		WebSocket: WebSocket{
 			WebSocketEndpoint:    "/socketrpc",
 			MaxWebSocketSessions: 50,
-			ReadBufferSize:       2048,
-			WriteBufferSize:      2048,
+			ReadBufferSize:       4096,
+			WriteBufferSize:      4096,
 		},
 		Logging: Logging{
 			ConsoleLogLevel: "info",
diff --git a/server/websocket.go b/server/websocket.go
index 78563f6c..bf3ddef9 100644
--- a/server/websocket.go
+++ b/server/websocket.go
@@ -13,18 +13,14 @@ import (
 // to net in connections/session management. At some point...
 
 const (
-	// Size of read channel.
-	readChanBufferSize = 10
-	// Size of write channel.
-	writeChanBufferSize = 10
 	// Time allowed to write a message to the peer.
-	writeWait = 10 * time.Second
+	writeWait = 0 * time.Second
 	// Time allowed to read the next pong message from the peer.
-	pongWait = 10 * time.Second
+	pongWait = 0 * time.Second
 	// Send pings to peer with this period. Must be less than pongWait.
-	pingPeriod = (pongWait * 9) / 10
+	pingPeriod = 0 * time.Second
 	// Maximum message size allowed from a peer.
-	maxMessageSize = 2048
+	maxMessageSize = 4096
 )
 
 // Services requests. Message bytes are passed along with the session
@@ -213,8 +209,8 @@ func (this *WSSession) readPump() {
 			}()
 	*/
 	this.wsConn.SetReadLimit(maxMessageSize)
-	this.wsConn.SetReadDeadline(time.Now().Add(pongWait))
-	this.wsConn.SetPongHandler(func(string) error { this.wsConn.SetReadDeadline(time.Now().Add(pongWait)); return nil })
+	// this.wsConn.SetReadDeadline(time.Now().Add(pongWait))
+	// this.wsConn.SetPongHandler(func(string) error { this.wsConn.SetReadDeadline(time.Now().Add(pongWait)); return nil })
 
 	for {
 		// Read
@@ -227,23 +223,9 @@ func (this *WSSession) readPump() {
 			this.writeCloseChan <- struct{}{}
 			return
 		}
-		// Wrong message type.
+		
 		if msgType != websocket.TextMessage {
-			var typeStr string
-			if msgType == websocket.BinaryMessage {
-				typeStr = "Binary"
-			} else if msgType == websocket.CloseMessage {
-				typeStr = "Close"
-			} else if msgType == websocket.PingMessage {
-				typeStr = "Ping"
-			} else if msgType == websocket.PingMessage {
-				typeStr = "Pong"
-			} else {
-				// This should not be possible.
-				typeStr = "Unknown ID: " + fmt.Sprintf("%d", msgType)
-			}
-
-			log.Info("Receiving non text-message from client, closing.", "type", typeStr)
+			log.Info("Receiving non text-message from client, closing.")
 			this.writeCloseChan <- struct{}{}
 			return
 		}
@@ -268,10 +250,10 @@ func (this *WSSession) writePump() {
 			wpm.Unlock()
 		}()
 	*/
-	ticker := time.NewTicker(pingPeriod)
+	// ticker := time.NewTicker(pingPeriod)
 
 	defer func() {
-		ticker.Stop()
+		// ticker.Stop()
 		this.Close()
 	}()
 
@@ -291,12 +273,15 @@ func (this *WSSession) writePump() {
 		case <-this.writeCloseChan:
 			return
 		// Ticker run out. Time for another ping message.
+		/*
 		case <-ticker.C:
 			if err := this.write(websocket.PingMessage, []byte{}); err != nil {
 				log.Debug("Failed to write ping message to socket. Closing.")
 				return
 			}
+			*/
 		}
+		
 	}
 }
 
@@ -402,7 +387,7 @@ func (this *SessionManager) createSession(wsConn *websocket.Conn) (*WSSession, e
 		sessionManager: this,
 		id:             newId,
 		wsConn:         wsConn,
-		writeChan:      make(chan []byte, writeChanBufferSize),
+		writeChan:      make(chan []byte, maxMessageSize),
 		writeCloseChan: make(chan struct{}),
 		service:        this.service,
 	}
diff --git a/test/server/ws_burst_test.go b/test/server/ws_burst_test.go
index 75d13683..c8329112 100644
--- a/test/server/ws_burst_test.go
+++ b/test/server/ws_burst_test.go
@@ -5,7 +5,7 @@ import (
 	"github.com/eris-ltd/eris-db/client"
 	"github.com/eris-ltd/eris-db/server"
 	"testing"
-	"time"
+	// "time"
 )
 
 const CONNS = 100
@@ -103,6 +103,6 @@ func wsClient(doneChan chan bool, errChan chan error) {
 	}
 
 	client.Close()
-	time.Sleep(time.Millisecond * 100)
+	
 	doneChan <- true
 }
-- 
GitLab