
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-27 17:27:02 -08:00
2026-02-04 08:48:55 -08:00
2026-01-07 13:06:08 -08:00
2025-11-11 08:52:23 -08:00
2026-01-07 13:06:08 -08:00
2025-12-21 11:10:01 -08:00
2025-06-19 01:15:25 -07:00
2025-09-09 01:01:03 -07:00
2025-11-03 15:27:20 -08:00
2022-07-29 00:17:28 -07:00
2026-01-06 00:09:52 -08:00
2025-08-06 10:09:26 -07:00
2025-07-16 23:39:27 -07:00
2026-01-14 21:37:50 -08:00
2026-01-07 13:06:08 -08:00
2022-07-29 00:17:28 -07:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2026-01-04 11:26:21 -08:00
2026-01-07 13:06:08 -08:00
2024-07-16 09:15:55 -07:00
2026-01-07 13:06:08 -08:00
2021-09-01 02:45:42 -07:00
2021-05-29 06:45:27 -07:00
2025-12-23 14:48:50 -08:00
2026-02-04 10:37:20 -08:00
2025-10-13 18:05:17 -07:00
2026-01-27 21:37:23 -08:00
2026-01-31 13:46:37 -08:00
2025-12-25 11:36:38 -08:00
2025-12-14 16:02:06 -08:00
2026-01-26 11:28:23 -08:00
2025-12-17 12:27:43 -08:00
2026-01-28 19:42:16 -08:00
2026-02-06 13:12:25 -08:00
2022-02-27 03:03:19 -08:00
2025-06-12 08:19:47 -07:00
2026-01-07 13:06:08 -08:00
2025-06-12 08:19:47 -07:00
2026-02-06 11:33:36 -08:00
2026-02-06 11:33:36 -08:00
2025-07-11 10:19:27 -07:00
2025-12-18 17:44:36 -08:00
2025-10-13 18:05:17 -07:00
2026-02-03 11:55:12 -08:00
2019-11-28 18:44:27 -08:00
2025-07-02 18:03:17 -07:00
2026-02-02 23:12:13 -08:00
2026-01-07 13:06:08 -08:00
2026-01-07 13:06:08 -08:00
2025-10-13 18:05:17 -07:00
2025-03-29 21:12:06 -07:00
2026-01-07 13:06:08 -08:00
2024-11-04 12:08:25 -08:00
2026-01-07 13:06:08 -08:00
2022-07-29 00:17:28 -07:00
2026-02-08 01:11:40 -08:00
2026-01-28 10:36:19 -08:00
2025-12-31 11:55:09 -08:00