是啥

V# 3FS RPC 服务方法总表

本文件整理 src/ 下源码里的 serde RPC 服务定义,排除了 tests/ 中的测试服务。

调用函数形态

普通 SERDE_SERVICE_METHOD(NAME, ID, REQ, RSP) 会生成:

template <class Context>
static CoTryTask<RSP> NAME(Context &ctx,
                           const REQ &req,
                           const hf3fs::net::UserRequestOptions *options = nullptr,
                           hf3fs::serde::Timestamp *timestamp = nullptr);

template <class Context>
static Result<RSP> NAMESync(Context &ctx,
                            const REQ &req,
                            const hf3fs::net::UserRequestOptions *options = nullptr,
                            hf3fs::serde::Timestamp *timestamp = nullptr);

mgmtdcore 的客户端侧还会通过 SERDE_SERVICE_CLIENT 生成泛型入口:

MgmtdServiceClient<>::send<"methodName">(ctx, req, options, timestamp);
CoreServiceClient<>::send<"methodName">(ctx, req, options, timestamp);

总表

服务 服务 ID Method ID 方法 请求类型 响应类型 调用函数 定义文件 备注
StorageSerde 3 1 batchRead BatchReadReq BatchReadRsp batchRead / batchReadSync src/fbs/storage/Service.h
2 write WriteReq WriteRsp write / writeSync src/fbs/storage/Service.h
3 update UpdateReq UpdateRsp update / updateSync src/fbs/storage/Service.h
5 queryLastChunk QueryLastChunkReq QueryLastChunkRsp queryLastChunk / queryLastChunkSync src/fbs/storage/Service.h
6 truncateChunks TruncateChunksReq TruncateChunksRsp truncateChunks / truncateChunksSync src/fbs/storage/Service.h
7 removeChunks RemoveChunksReq RemoveChunksRsp removeChunks / removeChunksSync src/fbs/storage/Service.h
8 syncStart SyncStartReq TargetSyncInfo syncStart / syncStartSync src/fbs/storage/Service.h
9 syncDone SyncDoneReq SyncDoneRsp syncDone / syncDoneSync src/fbs/storage/Service.h
10 spaceInfo SpaceInfoReq SpaceInfoRsp spaceInfo / spaceInfoSync src/fbs/storage/Service.h
11 createTarget CreateTargetReq CreateTargetRsp createTarget / createTargetSync src/fbs/storage/Service.h
12 queryChunk QueryChunkReq QueryChunkRsp queryChunk / queryChunkSync src/fbs/storage/Service.h
13 getAllChunkMetadata GetAllChunkMetadataReq GetAllChunkMetadataRsp getAllChunkMetadata / getAllChunkMetadataSync src/fbs/storage/Service.h
16 offlineTarget OfflineTargetReq OfflineTargetRsp offlineTarget / offlineTargetSync src/fbs/storage/Service.h
17 removeTarget RemoveTargetReq RemoveTargetRsp removeTarget / removeTargetSync src/fbs/storage/Service.h
MetaSerde 4 1 statFs StatFsReq StatFsRsp statFs / statFsSync src/fbs/meta/Service.h
2 stat StatReq StatRsp stat / statSync src/fbs/meta/Service.h
3 create CreateReq CreateRsp create / createSync src/fbs/meta/Service.h
4 mkdirs MkdirsReq MkdirsRsp mkdirs / mkdirsSync src/fbs/meta/Service.h
5 symlink SymlinkReq SymlinkRsp symlink / symlinkSync src/fbs/meta/Service.h
6 hardLink HardLinkReq HardLinkRsp hardLink / hardLinkSync src/fbs/meta/Service.h
7 remove RemoveReq RemoveRsp remove / removeSync src/fbs/meta/Service.h
8 open OpenReq OpenRsp open / openSync src/fbs/meta/Service.h
9 sync SyncReq SyncRsp sync / syncSync src/fbs/meta/Service.h
10 close CloseReq CloseRsp close / closeSync src/fbs/meta/Service.h
11 rename RenameReq RenameRsp rename / renameSync src/fbs/meta/Service.h
12 list ListReq ListRsp list / listSync src/fbs/meta/Service.h
13 truncate TruncateReq TruncateRsp truncate / truncateSync src/fbs/meta/Service.h deprecated
14 getRealPath GetRealPathReq GetRealPathRsp getRealPath / getRealPathSync src/fbs/meta/Service.h
15 setAttr SetAttrReq SetAttrRsp setAttr / setAttrSync src/fbs/meta/Service.h
16 pruneSession PruneSessionReq PruneSessionRsp pruneSession / pruneSessionSync src/fbs/meta/Service.h
17 dropUserCache DropUserCacheReq DropUserCacheRsp dropUserCache / dropUserCacheSync src/fbs/meta/Service.h
18 authenticate AuthReq AuthRsp authenticate / authenticateSync src/fbs/meta/Service.h
19 lockDirectory LockDirectoryReq LockDirectoryRsp lockDirectory / lockDirectorySync src/fbs/meta/Service.h
20 batchStat BatchStatReq BatchStatRsp batchStat / batchStatSync src/fbs/meta/Service.h
21 batchStatByPath BatchStatByPathReq BatchStatByPathRsp batchStatByPath / batchStatByPathSync src/fbs/meta/Service.h
50 testRpc TestRpcReq TestRpcRsp testRpc / testRpcSync src/fbs/meta/Service.h 测试/探活 RPC
ClientAgentSerde 10 1 statFs StatFsReq StatFsRsp statFs / statFsSync src/fbs/lib/Service.h
2 stat StatReq StatRsp stat / statSync src/fbs/lib/Service.h
3 open OpenReq OpenRsp open / openSync src/fbs/lib/Service.h
4 close CloseReq CloseRsp close / closeSync src/fbs/lib/Service.h
5 setAttrs SetAttrsReq SetAttrsRsp setAttrs / setAttrsSync src/fbs/lib/Service.h
6 dup DupReq DupRsp dup / dupSync src/fbs/lib/Service.h
7 mkdirs MkdirsReq MkdirsRsp mkdirs / mkdirsSync src/fbs/lib/Service.h
8 symlink SymlinkReq SymlinkRsp symlink / symlinkSync src/fbs/lib/Service.h
9 remove RemoveReq RemoveRsp remove / removeSync src/fbs/lib/Service.h
10 rename RenameReq RenameRsp rename / renameSync src/fbs/lib/Service.h
11 list ListReq ListRsp list / listSync src/fbs/lib/Service.h
12 getRealPath GetRealPathReq GetRealPathRsp getRealPath / getRealPathSync src/fbs/lib/Service.h
13 fsync FsyncReq FsyncRsp fsync / fsyncSync src/fbs/lib/Service.h
14 ftruncate FtruncateReq FtruncateRsp ftruncate / ftruncateSync src/fbs/lib/Service.h
15 link LinkReq LinkRsp link / linkSync src/fbs/lib/Service.h
101 iovalloc IovAllocReq IovAllocRsp iovalloc / iovallocSync src/fbs/lib/Service.h user-bio/iovec
102 iovfree IovFreeReq IovFreeRsp iovfree / iovfreeSync src/fbs/lib/Service.h user-bio/iovec
103 seekInFile SeekInFileReq SeekInFileRsp seekInFile / seekInFileSync src/fbs/lib/Service.h
104 piov PioVReq PioVRsp piov / piovSync src/fbs/lib/Service.h batch positional I/O
201 sharedFileHandles SharedFileHandlesReq SharedFileHandlesRsp sharedFileHandles / sharedFileHandlesSync src/fbs/lib/Service.h
202 openWithFileHandles OpenWithFileHandlesReq OpenWithFileHandlesRsp openWithFileHandles / openWithFileHandlesSync src/fbs/lib/Service.h
203 openIovecHandle OpenIovecHandleReq OpenIovecHandleRsp openIovecHandle / openIovecHandleSync src/fbs/lib/Service.h
RDMAControl 10 1 apply RDMATransmissionReq RDMATransmissionRsp apply / applySync src/common/net/RDMAControl.h RDMA 控制
IBConnect 11 1 query IBQueryReq IBQueryRsp query / querySync src/common/net/ib/IBConnectService.h IB 连接查询
2 connect IBConnectReq IBConnectRsp connect / connectSync src/common/net/ib/IBConnectService.h IB 建连
MonitorCollector 194 1 write std::vector<Sample> MonitorCollectorRsp write / writeSync src/fbs/monitor_collector/MonitorCollectorService.h 写监控采样
Mgmtd 217 1 getPrimaryMgmtd GetPrimaryMgmtdReq GetPrimaryMgmtdRsp MgmtdServiceClient<>::send<"getPrimaryMgmtd"> src/fbs/mgmtd/MgmtdServiceDef.h
2 - - - - src/fbs/mgmtd/MgmtdServiceDef.h deprecated / reserved
3 heartbeat HeartbeatReq HeartbeatRsp MgmtdServiceClient<>::send<"heartbeat"> src/fbs/mgmtd/MgmtdServiceDef.h
4 registerNode RegisterNodeReq RegisterNodeRsp MgmtdServiceClient<>::send<"registerNode"> src/fbs/mgmtd/MgmtdServiceDef.h
5 getRoutingInfo GetRoutingInfoReq GetRoutingInfoRsp MgmtdServiceClient<>::send<"getRoutingInfo"> src/fbs/mgmtd/MgmtdServiceDef.h
6 setConfig SetConfigReq SetConfigRsp MgmtdServiceClient<>::send<"setConfig"> src/fbs/mgmtd/MgmtdServiceDef.h
7 getConfig GetConfigReq GetConfigRsp MgmtdServiceClient<>::send<"getConfig"> src/fbs/mgmtd/MgmtdServiceDef.h
8 setChainTable SetChainTableReq SetChainTableRsp MgmtdServiceClient<>::send<"setChainTable"> src/fbs/mgmtd/MgmtdServiceDef.h
9 enableNode EnableNodeReq EnableNodeRsp MgmtdServiceClient<>::send<"enableNode"> src/fbs/mgmtd/MgmtdServiceDef.h
10 disableNode DisableNodeReq DisableNodeRsp MgmtdServiceClient<>::send<"disableNode"> src/fbs/mgmtd/MgmtdServiceDef.h
11 extendClientSession ExtendClientSessionReq ExtendClientSessionRsp MgmtdServiceClient<>::send<"extendClientSession"> src/fbs/mgmtd/MgmtdServiceDef.h
12 listClientSessions ListClientSessionsReq ListClientSessionsRsp MgmtdServiceClient<>::send<"listClientSessions"> src/fbs/mgmtd/MgmtdServiceDef.h
13 setNodeTags SetNodeTagsReq SetNodeTagsRsp MgmtdServiceClient<>::send<"setNodeTags"> src/fbs/mgmtd/MgmtdServiceDef.h
14 unregisterNode UnregisterNodeReq UnregisterNodeRsp MgmtdServiceClient<>::send<"unregisterNode"> src/fbs/mgmtd/MgmtdServiceDef.h
15 setChains SetChainsReq SetChainsRsp MgmtdServiceClient<>::send<"setChains"> src/fbs/mgmtd/MgmtdServiceDef.h
16 setUniversalTags SetUniversalTagsReq SetUniversalTagsRsp MgmtdServiceClient<>::send<"setUniversalTags"> src/fbs/mgmtd/MgmtdServiceDef.h
17 getUniversalTags GetUniversalTagsReq GetUniversalTagsRsp MgmtdServiceClient<>::send<"getUniversalTags"> src/fbs/mgmtd/MgmtdServiceDef.h
18 getConfigVersions GetConfigVersionsReq GetConfigVersionsRsp MgmtdServiceClient<>::send<"getConfigVersions"> src/fbs/mgmtd/MgmtdServiceDef.h
19 getClientSession GetClientSessionReq GetClientSessionRsp MgmtdServiceClient<>::send<"getClientSession"> src/fbs/mgmtd/MgmtdServiceDef.h
20 rotateLastSrv RotateLastSrvReq RotateLastSrvRsp MgmtdServiceClient<>::send<"rotateLastSrv"> src/fbs/mgmtd/MgmtdServiceDef.h
21 listOrphanTargets ListOrphanTargetsReq ListOrphanTargetsRsp MgmtdServiceClient<>::send<"listOrphanTargets"> src/fbs/mgmtd/MgmtdServiceDef.h
22 setPreferredTargetOrder SetPreferredTargetOrderReq SetPreferredTargetOrderRsp MgmtdServiceClient<>::send<"setPreferredTargetOrder"> src/fbs/mgmtd/MgmtdServiceDef.h
23 rotateAsPreferredOrder RotateAsPreferredOrderReq RotateAsPreferredOrderRsp MgmtdServiceClient<>::send<"rotateAsPreferredOrder"> src/fbs/mgmtd/MgmtdServiceDef.h
24 updateChain UpdateChainReq UpdateChainRsp MgmtdServiceClient<>::send<"updateChain"> src/fbs/mgmtd/MgmtdServiceDef.h
SimpleExampleSerde 240 1 echo SimpleExampleReq SimpleExampleRsp echo / echoSync src/fbs/simple_example/SerdeService.h 示例服务
MigrationSerde 241 1 start StartJobReq StartJobRsp start / startSync src/fbs/migration/SerdeService.h
2 stop StopJobReq StopJobRsp stop / stopSync src/fbs/migration/SerdeService.h
3 list ListJobsReq ListJobsRsp list / listSync src/fbs/migration/SerdeService.h
serde::echo::Service 10000 1 echo Message Message echo / echoSync src/common/serde/Echo.h 通用 echo 服务
Core 10001 1 echo EchoReq EchoRsp CoreServiceClient<>::send<"echo"> src/fbs/core/service/CoreServiceDef.h
2 getConfig GetConfigReq GetConfigRsp CoreServiceClient<>::send<"getConfig"> src/fbs/core/service/CoreServiceDef.h
3 renderConfig RenderConfigReq RenderConfigRsp CoreServiceClient<>::send<"renderConfig"> src/fbs/core/service/CoreServiceDef.h
4 hotUpdateConfig HotUpdateConfigReq HotUpdateConfigRsp CoreServiceClient<>::send<"hotUpdateConfig"> src/fbs/core/service/CoreServiceDef.h
5 getLastConfigUpdateRecord GetLastConfigUpdateRecordReq GetLastConfigUpdateRecordRsp CoreServiceClient<>::send<"getLastConfigUpdateRecord"> src/fbs/core/service/CoreServiceDef.h
6 shutdown ShutdownReq ShutdownRsp CoreServiceClient<>::send<"shutdown"> src/fbs/core/service/CoreServiceDef.h
## 备注
  • SERDE_SERVICE(NAME, ID) 等价于 SERDE_SERVICE_2(NAME, NAME, ID)
  • SERDE_SERVICE_2(STRUCT_NAME, SERVICE_NAME, ID) 生成 template <class T = void> struct STRUCT_NAME,并把 SERVICE_NAME 作为 wire protocol 的 service name。
  • 每个方法都会进入 MethodInfo<#NAME, T, REQ, RSP, ID, ...> 反射列表。
  • RPC 发送前的真正序列化发生在 net::SerdeBuffer::create() 里:
serde::Out<DownwardBytes<Allocator>> out;
serde::serialize(packet, out);
posted @ 2026-07-01 18:02  苏格拉底的落泪  阅读(7)  评论(0)    收藏  举报