fix: make acks thread safe (#779)

This commit is contained in:
Harshvardhan Gupta
2025-02-06 13:46:05 +05:30
committed by GitHub
parent 6ea9c15a34
commit 4f45e3c127

View File

@@ -9,6 +9,7 @@ import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
@@ -59,7 +60,7 @@ public class Socket extends Emitter {
private String nsp; private String nsp;
private Manager io; private Manager io;
private Map<String, String> auth; private Map<String, String> auth;
private Map<Integer, Ack> acks = new HashMap<>(); private Map<Integer, Ack> acks = new ConcurrentHashMap<>();
private Queue<On.Handle> subs; private Queue<On.Handle> subs;
private final Queue<List<Object>> receiveBuffer = new ConcurrentLinkedQueue<>(); private final Queue<List<Object>> receiveBuffer = new ConcurrentLinkedQueue<>();
private final Queue<Packet<JSONArray>> sendBuffer = new ConcurrentLinkedQueue<>(); private final Queue<Packet<JSONArray>> sendBuffer = new ConcurrentLinkedQueue<>();