mirror of
				https://bitbucket.org/s_l_teichmann/mtsatellite
				synced 2025-10-31 08:05:27 +01:00 
			
		
		
		
	Simplified error handling in Redis connection handler.
This also reduces the diff size to the syndtr-goleveldb branch.
This commit is contained in:
		| @@ -50,8 +50,9 @@ func (c *Connection) Run() { | ||||
| 	log.Println("client disconnected") | ||||
| } | ||||
|  | ||||
| func logError(err error) { | ||||
| 	log.Printf("ERROR: %s", err) | ||||
| func logError(err error) bool { | ||||
| 	log.Printf("ERROR: %s\n", err) | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| func (c *Connection) Hget(hash, key []byte) bool { | ||||
| @@ -122,14 +123,12 @@ func (c *Connection) Hkeys(hash []byte) bool { | ||||
| 	} | ||||
|  | ||||
| 	if _, err := c.conn.Write(redisLength('*', n)); err != nil { | ||||
| 		logError(err) | ||||
| 		return false | ||||
| 		return logError(err) | ||||
| 	} | ||||
|  | ||||
| 	for key := range keys { | ||||
| 		if err = c.writeBulkString(key); err != nil { | ||||
| 			logError(err) | ||||
| 			return false | ||||
| 			return logError(err) | ||||
| 		} | ||||
| 	} | ||||
| 	return true | ||||
| @@ -137,8 +136,7 @@ func (c *Connection) Hkeys(hash []byte) bool { | ||||
|  | ||||
| func (c *Connection) Ping() bool { | ||||
| 	if _, err := c.conn.Write(redisPong); err != nil { | ||||
| 		logError(err) | ||||
| 		return false | ||||
| 		return logError(err) | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
| @@ -157,18 +155,15 @@ func (c *Connection) HSpatial(hash, first, second []byte) bool { | ||||
|  | ||||
| 	for block := range blocks { | ||||
| 		if err = c.writeBulkString(block.Key); err != nil { | ||||
| 			logError(err) | ||||
| 			return false | ||||
| 			return logError(err) | ||||
| 		} | ||||
| 		if err = c.writeBulkString(block.Data); err != nil { | ||||
| 			logError(err) | ||||
| 			return false | ||||
| 			return logError(err) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if err = c.writeBulkString(nil); err != nil { | ||||
| 		logError(err) | ||||
| 		return false | ||||
| 		return logError(err) | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
| @@ -176,16 +171,14 @@ func (c *Connection) HSpatial(hash, first, second []byte) bool { | ||||
| func (c *Connection) writeError(err error) bool { | ||||
| 	logError(err) | ||||
| 	if _, err = c.conn.Write(redisError); err != nil { | ||||
| 		logError(err) | ||||
| 		return false | ||||
| 		return logError(err) | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| func (c *Connection) writeEmptyArray() bool { | ||||
| 	if _, err := c.conn.Write(redisEmptyArray); err != nil { | ||||
| 		logError(err) | ||||
| 		return false | ||||
| 		return logError(err) | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
| @@ -198,8 +191,7 @@ func (c *Connection) writeBool(b bool) bool { | ||||
| 		_, err = c.conn.Write(redisFalse) | ||||
| 	} | ||||
| 	if err != nil { | ||||
| 		logError(err) | ||||
| 		return false | ||||
| 		return logError(err) | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
| @@ -211,8 +203,7 @@ func redisLength(prefix byte, s int) []byte { | ||||
|  | ||||
| func (c *Connection) writeBoolArray(arr []bool) bool { | ||||
| 	if _, err := c.conn.Write(redisLength('*', len(arr))); err != nil { | ||||
| 		logError(err) | ||||
| 		return false | ||||
| 		return logError(err) | ||||
| 	} | ||||
| 	for _, b := range arr { | ||||
| 		if !c.writeBool(b) { | ||||
| @@ -224,24 +215,21 @@ func (c *Connection) writeBoolArray(arr []bool) bool { | ||||
|  | ||||
| func (c *Connection) writeOk() bool { | ||||
| 	if _, err := c.conn.Write(redisOk); err != nil { | ||||
| 		logError(err) | ||||
| 		return false | ||||
| 		return logError(err) | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| func (c *Connection) writeQueued() bool { | ||||
| 	if _, err := c.conn.Write(redisQueued); err != nil { | ||||
| 		logError(err) | ||||
| 		return false | ||||
| 		return logError(err) | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| func (c *Connection) writeBlock(data []byte) bool { | ||||
| 	if err := c.writeBulkString(data); err != nil { | ||||
| 		logError(err) | ||||
| 		return false | ||||
| 		return logError(err) | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user