MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / RecursivelyWriteObjects

Function RecursivelyWriteObjects

IceFireDB-Redis-Proxy/pkg/router/writer.go:89–119  ·  view source on GitHub ↗
(local *RESPHandle.WriterHandle, reply ...interface{})

Source from the content-addressed store, hash-verified

87}
88
89func RecursivelyWriteObjects(local *RESPHandle.WriterHandle, reply ...interface{}) (err error) {
90 if len(reply) > 1 {
91 var memoryWriterBuffer bytes.Buffer
92 memoryWriterHandle := RESPHandle.NewWriterHandle(&memoryWriterBuffer)
93 err = memoryWriterHandle.RecursivelyWriteObjects(reply...)
94
95 if err != nil {
96 logrus.Error("mget memoryWriterHandle error:", err)
97 return err
98 }
99 err = memoryWriterHandle.Flush()
100 if err != nil {
101 logrus.Error("mget memoryWriterHandle flush error:", err)
102 return err
103 }
104 _, err = local.Write(memoryWriterBuffer.Bytes())
105 } else {
106 err = local.RecursivelyWriteObjects(reply...)
107 }
108
109 if err != nil {
110 logrus.Error("Client write error:", err)
111 return ErrLocalWriter
112 }
113 err = local.Flush()
114 if err != nil {
115 logrus.Error("Client flush error:", err)
116 return ErrLocalFlush
117 }
118 return nil
119}
120
121func WriteBulkStrings(local *RESPHandle.WriterHandle, reply []string) error {
122 err := local.WriteBulkStrings(reply)

Callers 3

cmdCMDEXECMethod · 0.92
cmdMGETMethod · 0.92
cmdCMDEXECMethod · 0.92

Calls 2

ErrorMethod · 0.45
BytesMethod · 0.45

Tested by

no test coverage detected