本节介绍Metadata的实现原理,以及在一元RPC模式下的使用方式。
通过第18节的学习知道,HEADERS帧一共有三种情况:
HEADERS
帧创建Stream
HEADERS
,在发送其他帧之前发送HEADERS TRAILER
metadata
跟随headerFields
字段发送给对端。
1.客户端HEADERS
帧 组装headerFields
,解析参数中的metadata
数据,编码(encodeMetadataHeader
)进入headerFields
if md, added, ok := metadata.FromOutgoingContextRaw(ctx)