Skip to content

Instantly share code, notes, and snippets.

View dragonsinth's full-sized avatar

Scott Blum dragonsinth

  • FullStory
  • Atlanta, GA
View GitHub Profile
for it := eventStream.Subscribe().Iterator(); true; {
v, err := it.Next(ctx)
if err == eventstream.ErrDone {
return nil
} else if err != nil {
return err
}
msg := v.(bwamp.Event)
// [Send msg to client]
}
type LogReplicatedModel struct {
mu sync.RWMutex
snapshot Model
stream eventstream.EventStream
}
func (m *LogReplicatedModel) ReadAndSubscribe() (Model, eventstream.Promise) {
m.mu.RLock()
defer m.mu.RUnlock()
return m.snapshot, m.stream.Subscribe()
go install github.com/fullstorydev/go/examples/chatterbox/...@latest
chatterbox server
chatterbox monitor # in another terminal
chatterbox client # in another terminal
@dragonsinth
dragonsinth / gazelle-local-repositores.go
Created September 22, 2022 15:53
Generate local repository rules from a go.work file that uses on-disk replacements
///usr/bin/env true; exec /usr/bin/env go run "$0" "$@"
package main
import (
"fmt"
"log"
"os"
"os/exec"
"path/filepath"
package concurrency
import (
"context"
"fmt"
"golang.org/x/sync/errgroup"
)
const (
doThingWorkers = 4