Increased socket size to fix fs chunking
This commit is contained in:
committed by
Rune Harlyk
parent
26c187a480
commit
4fa3939209
@@ -95,7 +95,7 @@ function createWebSocket() {
|
|||||||
>()
|
>()
|
||||||
const { subscribe, set } = writable(false)
|
const { subscribe, set } = writable(false)
|
||||||
const reconnectTimeoutTime = 500000
|
const reconnectTimeoutTime = 500000
|
||||||
const requestTimeoutTime = 10000
|
const requestTimeoutTime = 30000 // 30 seconds for chunked file transfers
|
||||||
let correlationIdCounter = 0
|
let correlationIdCounter = 0
|
||||||
let unresponsiveTimeoutId: ReturnType<typeof setTimeout>
|
let unresponsiveTimeoutId: ReturnType<typeof setTimeout>
|
||||||
let reconnectTimeoutId: ReturnType<typeof setTimeout>
|
let reconnectTimeoutId: ReturnType<typeof setTimeout>
|
||||||
@@ -136,6 +136,16 @@ function createWebSocket() {
|
|||||||
}
|
}
|
||||||
ws.onmessage = frame => {
|
ws.onmessage = frame => {
|
||||||
resetUnresponsiveCheck()
|
resetUnresponsiveCheck()
|
||||||
|
|
||||||
|
// Reset all pending request timeouts when any message arrives (connection is alive)
|
||||||
|
for (const [correlationId, pending] of pending_requests) {
|
||||||
|
clearTimeout(pending.timeoutId)
|
||||||
|
pending.timeoutId = setTimeout(() => {
|
||||||
|
pending_requests.delete(correlationId)
|
||||||
|
pending.reject(new Error(`Request timeout (id: ${correlationId})`))
|
||||||
|
}, requestTimeoutTime)
|
||||||
|
}
|
||||||
|
|
||||||
const { tag, msg } = decodeMessage(frame.data)
|
const { tag, msg } = decodeMessage(frame.data)
|
||||||
if (msg.correlationResponse) {
|
if (msg.correlationResponse) {
|
||||||
const pending = pending_requests.get(msg.correlationResponse.correlationId)
|
const pending = pending_requests.get(msg.correlationResponse.correlationId)
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ class CommAdapterBase {
|
|||||||
|
|
||||||
pb_ostream_t stream = pb_ostream_from_buffer(buffer_, sizeof(buffer_));
|
pb_ostream_t stream = pb_ostream_from_buffer(buffer_, sizeof(buffer_));
|
||||||
if (!pb_encode(&stream, socket_message_Message_fields, &msg_)) {
|
if (!pb_encode(&stream, socket_message_Message_fields, &msg_)) {
|
||||||
|
ESP_LOGE("ProtoComm", "Failed to encode message (tag %d), buffer too small?", (int)tag);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
#include <functional>
|
#include <functional>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
#define PROTO_BUFFER_SIZE 512
|
#define PROTO_BUFFER_SIZE 2048 // Increased for chunked file transfer responses
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct MessageTraits;
|
struct MessageTraits;
|
||||||
|
|||||||
Reference in New Issue
Block a user