MM-29979: make websocket writes zero-alloc (#16115)
This reverts commit 31dac80e66.
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
fb9c2faa1a
Коммит
4758408699
@@ -203,6 +203,22 @@ func (ev *WebSocketEvent) ToJson() string {
|
||||
return string(b)
|
||||
}
|
||||
|
||||
// Encode encodes the event to the given encoder.
|
||||
func (ev *WebSocketEvent) Encode(enc *json.Encoder) error {
|
||||
if ev.precomputedJSON != nil {
|
||||
return enc.Encode(json.RawMessage(
|
||||
fmt.Sprintf(`{"event": %s, "data": %s, "broadcast": %s, "seq": %d}`, ev.precomputedJSON.Event, ev.precomputedJSON.Data, ev.precomputedJSON.Broadcast, ev.Sequence),
|
||||
))
|
||||
}
|
||||
|
||||
return enc.Encode(webSocketEventJSON{
|
||||
ev.Event,
|
||||
ev.Data,
|
||||
ev.Broadcast,
|
||||
ev.Sequence,
|
||||
})
|
||||
}
|
||||
|
||||
func WebSocketEventFromJson(data io.Reader) *WebSocketEvent {
|
||||
var ev WebSocketEvent
|
||||
var o webSocketEventJSON
|
||||
|
||||
Ссылка в новой задаче
Block a user