
pingqiuandClaude Opus 4.5
e064c86d12
feat(volume): add UDS handler for RDMA sidecar integration
Add Unix Domain Socket (UDS) handler to Volume server for RDMA sidecar
(sra-volume) to query needle locations without HTTP overhead.
Protocol (per UDS_LOCATE_API_SPEC.md):
- Request: 24 bytes (fid[16] + version[4] + flags[4])
- Response: 32 bytes (status[1] + pad[3] + volume_id[4] + offset[8] + length[8] + reserved[8])
Changes:
- weed/server/volume_server_uds.go: UDS server implementation
- Parses fid via needle.ParseFileIdFromString()
- Looks up volume via store.GetVolume()
- Queries needle offset via Volume.GetNeedle()
- Returns (volumeId, offset, length) or NotFound/Error
- weed/storage/volume.go: Added GetNeedle() method
- Exposes nm.Get() for UDS handler
- weed/command/volume.go: Added -uds.listen flag
- Example: weed volume -dir=/data -uds.listen=/tmp/sra-volume.sock
- UDS server starts/stops with volume lifecycle
- weed/server/volume_server_uds_test.go: 8 tests
- Protocol size verification
- Request/response serialization
- Connection and fid parsing tests
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 01:11:40 -08:00
..
2025-11-04 13:02:22 -08:00
2026-01-07 13:06:08 -08:00
2024-11-15 11:25:18 -08:00
2025-09-09 01:01:03 -07:00
2026-01-03 22:45:48 -08:00
2019-03-03 10:17:44 -08:00
2025-12-05 15:59:12 -08:00
2026-01-07 13:06:08 -08:00
2025-12-26 13:26:25 -08:00
2026-01-07 13:06:08 -08:00
2025-12-16 12:41:04 -08:00
2026-01-16 19:48:09 -08:00
2025-10-24 01:26:42 -07:00
2026-01-07 13:06:08 -08:00
2025-11-25 19:35:19 -08:00
2026-01-29 14:42:09 -08:00
2026-01-29 21:45:15 -08:00
2025-08-11 16:45:13 -07:00
2026-01-26 22:59:43 -08:00
2025-06-24 08:44:06 -07:00
2026-01-07 13:06:08 -08:00
2025-11-21 14:46:32 -08:00
2025-06-24 08:44:06 -07:00
2025-11-28 11:52:57 -08:00
2025-07-16 23:39:27 -07:00
2025-08-21 08:28:07 -07:00
2026-02-06 21:54:43 -08:00
2025-12-12 12:51:48 -08:00
2026-01-29 21:45:15 -08:00
2022-07-29 00:17:28 -07:00
2025-12-14 21:56:07 -08:00
2025-12-14 21:56:07 -08:00
2026-02-03 17:43:58 -08:00
2026-01-07 13:06:08 -08:00
2026-02-04 08:48:55 -08:00
2026-01-07 13:06:08 -08:00
2022-07-29 00:17:28 -07:00
2025-12-19 00:15:39 -08:00
2026-01-11 12:31:46 -08:00
2026-01-23 12:25:11 -08:00
2026-01-29 21:51:46 -08:00
2025-06-19 13:54:54 -07:00
2025-11-26 08:01:19 -08:00
2025-09-04 05:39:56 -07:00
2026-01-18 14:02:34 -08:00
2026-01-18 14:02:34 -08:00
2026-01-18 14:02:34 -08:00
2026-01-07 13:06:08 -08:00
2026-01-18 14:02:34 -08:00
2026-02-06 10:58:43 -08:00
2026-02-02 13:21:02 -08:00
2026-01-12 10:49:59 -08:00
2022-07-29 00:17:28 -07:00
2026-02-02 13:21:02 -08:00
2026-02-02 17:55:04 -08:00
2022-07-29 00:17:28 -07:00
2026-01-07 13:06:08 -08:00
2026-02-02 13:21:02 -08:00
2026-02-02 13:21:02 -08:00
2026-02-05 14:44:12 -08:00
2026-02-06 10:58:43 -08:00
2026-02-02 13:21:02 -08:00
2022-10-14 00:18:09 -07:00
2026-02-02 13:21:02 -08:00
2026-02-02 13:21:02 -08:00
2025-12-02 23:19:14 -08:00
2025-12-05 15:59:12 -08:00
2025-11-26 08:01:19 -08:00
2026-02-06 21:54:43 -08:00
2025-12-16 13:42:18 -08:00
2026-02-06 10:58:43 -08:00
2026-02-08 01:11:40 -08:00
2026-02-08 01:11:40 -08:00
2026-02-06 10:58:43 -08:00
2025-11-29 10:06:11 -08:00
2026-01-07 13:06:08 -08:00