是啥
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);
mgmtd 和 core 的客户端侧还会通过 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);

浙公网安备 33010602011771号