
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
..
2026-01-07 13:06:08 -08:00
2026-02-05 11:27:03 -08:00
2026-02-05 11:27:03 -08:00
2026-02-06 21:54:43 -08:00
2026-01-14 14:12:49 -08:00
2025-06-16 22:25:22 -07:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2025-10-26 22:48:58 -07:00
2025-10-26 22:48:58 -07:00
2026-01-28 17:21:14 -08:00
2026-01-01 19:20:59 -08:00
2026-02-02 17:55:04 -08:00
2026-02-02 17:55:04 -08:00
2026-01-28 17:21:14 -08:00
2025-12-15 21:39:27 -08:00
2025-12-15 21:39:27 -08:00
2023-03-08 01:48:28 -08:00
2024-11-21 00:37:38 -08:00
2024-06-02 14:12:25 -07:00
2022-11-14 00:19:27 -08:00
2025-11-17 21:19:55 -08:00
2025-12-02 17:00:05 -08:00
2026-01-23 16:38:36 -08:00
2026-01-22 20:34:19 -08:00
2025-10-20 16:11:29 -07:00
2026-01-28 17:21:14 -08:00
2026-02-06 10:58:43 -08:00
2025-06-30 13:57:28 -07:00
2025-06-30 10:11:30 -07:00
2026-02-06 10:58:43 -08:00
2025-06-16 22:05:06 -07:00
2026-02-05 11:27:03 -08:00
2022-07-29 00:17:28 -07:00
2026-01-29 14:16:42 -08:00
2026-01-16 19:19:18 -08:00
2022-11-23 15:59:38 -08:00
2026-01-28 17:21:14 -08:00
2025-11-10 20:30:21 -08:00
2026-01-16 19:19:18 -08:00
2025-06-16 22:25:22 -07:00
2026-01-28 17:21:14 -08:00
2025-10-28 17:57:51 -07:00
2026-01-28 17:21:14 -08:00
2025-10-16 12:21:51 -07:00
2026-02-08 01:11:40 -08:00