Move chunk server RequestQueue initialization to connection time

The RequestQueue for chunk servers should be initialized when the
connection is actually established in get_chunk_server_connection(),
not ahead of time during tinydfs_init().

The metadata server RequestQueue initialization remains in tinydfs_init()
since the metadata server connection is established during initialization.

Changes:
- Removed premature RequestQueue initialization for chunk servers
- Added clarifying comments about initialization timing
- RequestQueue is initialized in get_chunk_server_connection() (line 227)
This commit is contained in:
Claude
2025-11-02 13:33:39 +00:00
parent 3ae2f13610
commit 5adf1337cf
+3 -3
View File
@@ -121,16 +121,16 @@ TinyDFS *tinydfs_init(char *addr, uint16_t port)
for (int i = 0; i < MAX_OPERATIONS; i++)
tdfs->operations[i].type = OPERATION_TYPE_FREE;
// Initialize metadata server
// Initialize metadata server (connected during init)
tdfs->metadata_server.used = true;
tdfs->metadata_server.addr = addr2;
request_queue_init(&tdfs->metadata_server.reqs);
// Initialize chunk servers
// Initialize chunk servers array (connections created on demand)
tdfs->num_chunk_servers = 0;
for (int i = 0; i < MAX_CHUNK_SERVERS; i++) {
tdfs->chunk_servers[i].used = false;
request_queue_init(&tdfs->chunk_servers[i].reqs);
// Note: RequestQueue initialized in get_chunk_server_connection()
}
return tdfs;