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