 		case computeDbHost
 		case maximumWebSocketFileSizeKB
 		case jwtHmacSecret
+		case computeReadBufferSize
 		case logFilePath
 //		case initialLogLevel
 		case urlPrefixToIgnore

	public let computeTimeout: Double
	/// The db host name to send to the compute server (which because of dns can be different)
	public let computeDbHost: String
	/// The largest amount of file data to return over the websocket. Anything higher should be fetched via REST. In KB
	public let maximumWebSocketFileSizeKB: Int
	/// the secret used with HMAC encoding in the authentication process. defaults to some gibberish that should not be used since it it avaiable in the source code.
	public let jwtHmacSecret: String

		let cdb = try container.decodeIfPresent(String.self, forKey: .computeDbHost)
		computeDbHost = cdb == nil ? dbHost : cdb!
		computeStartupDelay = try container.decodeIfPresent(Int.self, forKey: .computeStartupDelay) ?? 2000
		// must be > 256 KB, less than 20 MB
		if let desiredBufSize = try container.decodeIfPresent(Int.self, forKey: .computeReadBufferSize),
			desiredBufSize > 256, desiredBufSize < 20 * 1024 * 1024 {
			computeReadBufferSize = desiredBufSize
		} else {
			computeReadBufferSize = 1024 * 1024
		}
		// default to 600 KB. Some kind of issues with sending messages larger than UInt16.max
		if let desiredSize = try container.decodeIfPresent(Int.self, forKey: .maximumWebSocketFileSizeKB),
			desiredSize <= 600, desiredSize > 0
