mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-10 18:10:54 +09:00
remove example service
This commit is contained in:
parent
b30038011f
commit
44bfe5cdbe
1 changed files with 0 additions and 84 deletions
|
@ -1,84 +0,0 @@
|
|||
package example
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/app"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/config"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/net/pool"
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/syncproto"
|
||||
"go.uber.org/zap"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
var log = logger.NewNamed("example")
|
||||
|
||||
type Example struct {
|
||||
pool pool.Pool
|
||||
peerConf config.PeerList
|
||||
}
|
||||
|
||||
func (e *Example) Init(ctx context.Context, a *app.App) (err error) {
|
||||
e.pool = a.MustComponent(pool.CName).(pool.Pool)
|
||||
e.peerConf = a.MustComponent(config.CName).(*config.Config).PeerList
|
||||
|
||||
// subscribe for sync messages
|
||||
e.pool.AddHandler(syncproto.MessageType_MessageTypeSync, e.syncHandler)
|
||||
return
|
||||
}
|
||||
|
||||
func (e *Example) Name() (name string) {
|
||||
return "example"
|
||||
}
|
||||
|
||||
func (e *Example) Run(ctx context.Context) (err error) {
|
||||
// dial manually with all peers
|
||||
for _, rp := range e.peerConf.Remote {
|
||||
if er := e.pool.DialAndAddPeer(ctx, rp.PeerId); er != nil {
|
||||
log.Info("can't dial to peer", zap.Error(er))
|
||||
} else {
|
||||
log.Info("connected with peer", zap.String("peerId", rp.PeerId))
|
||||
}
|
||||
}
|
||||
go e.doRequests()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *Example) syncHandler(ctx context.Context, msg *pool.Message) (err error) {
|
||||
data := string(msg.Data) // you need unmarshal this bytes
|
||||
log.Info("msg received", zap.String("peerId", msg.Peer().Id()), zap.String("data", data))
|
||||
|
||||
if strings.HasPrefix(data, "ack:") {
|
||||
if err = msg.Ack(); err != nil {
|
||||
log.Error("ack error", zap.Error(err))
|
||||
}
|
||||
} else if strings.HasPrefix(data, "ackErr:") {
|
||||
if err = msg.AckError(42, "ack error description"); err != nil {
|
||||
log.Error("ackErr error", zap.Error(err))
|
||||
}
|
||||
} else if strings.HasPrefix(data, "reply:") {
|
||||
if err = msg.Reply([]byte("reply for:" + strings.TrimPrefix(data, "reply:"))); err != nil {
|
||||
log.Error("reply error", zap.Error(err))
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *Example) doRequests() {
|
||||
time.Sleep(time.Second)
|
||||
ctx := context.Background()
|
||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
|
||||
defer cancel()
|
||||
|
||||
st := time.Now()
|
||||
err := e.pool.SendAndWait(ctx, e.peerConf.Remote[0].PeerId, &syncproto.Message{
|
||||
Header: &syncproto.Header{Type: syncproto.MessageType_MessageTypeSync},
|
||||
Data: []byte("ack: something"),
|
||||
})
|
||||
log.Info("sent with ack:", zap.Error(err), zap.Duration("dur", time.Since(st)))
|
||||
}
|
||||
|
||||
func (e *Example) Close(ctx context.Context) (err error) {
|
||||
return
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue