this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

more alloc reductions

authored by

whyrusleeping and committed by
whyrusleeping
5cfe465b d021c3ed

+20 -14
-1
cmd/gosky/main.go
··· 653 653 return err 654 654 } 655 655 repob = rrb 656 - fmt.Println("GOT REPO BYTES") 657 656 } else { 658 657 if len(arg) == 0 { 659 658 return cli.Exit("must specify DID string or repo path", 127)
+20 -13
events/consumer.go
··· 12 12 comatproto "github.com/bluesky-social/indigo/api/atproto" 13 13 "github.com/prometheus/client_golang/prometheus" 14 14 15 + cbg "github.com/whyrusleeping/cbor-gen" 16 + 15 17 "github.com/gorilla/websocket" 16 18 ) 17 19 ··· 162 164 return nil 163 165 }) 164 166 167 + cr := new(cbg.CborReader) 168 + 169 + ir := &instrumentedReader{ 170 + addr: remoteAddr, 171 + bytesCounter: bytesFromStreamCounter.WithLabelValues(remoteAddr), 172 + } 173 + 165 174 lastSeq := int64(-1) 166 175 for { 167 176 select { ··· 182 191 // ok 183 192 } 184 193 185 - r := &instrumentedReader{ 186 - r: rawReader, 187 - addr: remoteAddr, 188 - bytesCounter: bytesFromStreamCounter.WithLabelValues(remoteAddr), 189 - } 194 + ir.r = rawReader 195 + 196 + cr.SetReader(ir) 190 197 191 198 var header EventHeader 192 - if err := header.UnmarshalCBOR(r); err != nil { 199 + if err := header.UnmarshalCBOR(cr); err != nil { 193 200 return fmt.Errorf("reading header: %w", err) 194 201 } 195 202 ··· 200 207 switch header.MsgType { 201 208 case "#commit": 202 209 var evt comatproto.SyncSubscribeRepos_Commit 203 - if err := evt.UnmarshalCBOR(r); err != nil { 210 + if err := evt.UnmarshalCBOR(cr); err != nil { 204 211 return fmt.Errorf("reading repoCommit event: %w", err) 205 212 } 206 213 ··· 217 224 } 218 225 case "#sync": 219 226 var evt comatproto.SyncSubscribeRepos_Sync 220 - if err := evt.UnmarshalCBOR(r); err != nil { 227 + if err := evt.UnmarshalCBOR(cr); err != nil { 221 228 return fmt.Errorf("reading repoSync event: %w", err) 222 229 } 223 230 ··· 234 241 } 235 242 case "#identity": 236 243 var evt comatproto.SyncSubscribeRepos_Identity 237 - if err := evt.UnmarshalCBOR(r); err != nil { 244 + if err := evt.UnmarshalCBOR(cr); err != nil { 238 245 return err 239 246 } 240 247 ··· 250 257 } 251 258 case "#account": 252 259 var evt comatproto.SyncSubscribeRepos_Account 253 - if err := evt.UnmarshalCBOR(r); err != nil { 260 + if err := evt.UnmarshalCBOR(cr); err != nil { 254 261 return err 255 262 } 256 263 ··· 267 274 case "#info": 268 275 // TODO: this might also be a LabelInfo (as opposed to RepoInfo) 269 276 var evt comatproto.SyncSubscribeRepos_Info 270 - if err := evt.UnmarshalCBOR(r); err != nil { 277 + if err := evt.UnmarshalCBOR(cr); err != nil { 271 278 return err 272 279 } 273 280 ··· 278 285 } 279 286 case "#labels": 280 287 var evt comatproto.LabelSubscribeLabels_Labels 281 - if err := evt.UnmarshalCBOR(r); err != nil { 288 + if err := evt.UnmarshalCBOR(cr); err != nil { 282 289 return fmt.Errorf("reading Labels event: %w", err) 283 290 } 284 291 ··· 297 304 298 305 case EvtKindErrorFrame: 299 306 var errframe ErrorFrame 300 - if err := errframe.UnmarshalCBOR(r); err != nil { 307 + if err := errframe.UnmarshalCBOR(cr); err != nil { 301 308 return err 302 309 } 303 310