MCPcopy
hub / github.com/aceld/zinx / GetRequest

Function GetRequest

znet/request.go:62–73  ·  view source on GitHub ↗
(conn ziface.IConnection, msg ziface.IMessage)

Source from the content-addressed store, hash-verified

60}
61
62func GetRequest(conn ziface.IConnection, msg ziface.IMessage) ziface.IRequest {
63
64 // 根据当前模式判断是否使用对象池
65 if zconf.GlobalObject.RequestPoolMode {
66 // 从对象池中取得一个 Request 对象,如果池子中没有可用的 Request 对象则会调用 allocateRequest 函数构造一个新的对象分配
67 r := RequestPool.Get().(*Request)
68 // 因为取出的 Request 对象可能是已存在也可能是新构造的,无论是哪种情况都应该初始化再返回使用
69 r.Reset(conn, msg)
70 return r
71 }
72 return NewRequest(conn, msg)
73}
74
75func PutRequest(request ziface.IRequest) {
76 // 判断是否开启了对象池模式

Callers 3

StartReaderMethod · 0.85
StartReaderMethod · 0.85
StartReaderMethod · 0.85

Calls 3

NewRequestFunction · 0.85
GetMethod · 0.65
ResetMethod · 0.45

Tested by

no test coverage detected