Change dialling logic

This commit is contained in:
mcrakhman 2022-08-05 16:33:37 +02:00 committed by Mikhail Iudin
parent 3f4c50bce4
commit 1d1045ec03
No known key found for this signature in database
GPG Key ID: FAAAA8BAABDFF1C0
2 changed files with 15 additions and 9 deletions

View File

@ -92,12 +92,12 @@ func main() {
func Bootstrap(a *app.App) { func Bootstrap(a *app.App) {
a.Register(account.New()). a.Register(account.New()).
Register(node.New()).
Register(secure.New()). Register(secure.New()).
Register(server.New()). Register(server.New()).
Register(dialer.New()). Register(dialer.New()).
Register(pool.NewPool()). Register(pool.NewPool()).
//Register(&example.Example{}) //Register(&example.Example{})
Register(node.New()).
Register(document.New()). Register(document.New()).
Register(message.New()). Register(message.New()).
Register(requesthandler.New()). Register(requesthandler.New()).

View File

@ -45,14 +45,6 @@ func (s *service) Name() (name string) {
} }
func (s *service) Run(ctx context.Context) (err error) { func (s *service) Run(ctx context.Context) (err error) {
// dial manually to all peers
for _, rp := range s.nodes {
if er := s.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))
}
}
s.pool.AddHandler(syncproto.MessageType_MessageTypeSync, s.HandleMessage) s.pool.AddHandler(syncproto.MessageType_MessageTypeSync, s.HandleMessage)
return nil return nil
@ -82,6 +74,11 @@ func (s *service) SendMessage(peerId string, msg *syncproto.Sync) error {
zap.String("message", msgType(msg))). zap.String("message", msgType(msg))).
Debug("sending message to peer") Debug("sending message to peer")
err := s.pool.DialAndAddPeer(context.Background(), peerId)
if err != nil {
return err
}
marshalled, err := proto.Marshal(msg) marshalled, err := proto.Marshal(msg)
if err != nil { if err != nil {
return err return err
@ -106,6 +103,15 @@ func (s *service) SendToSpace(spaceId string, msg *syncproto.Sync) error {
zap.String("message", msgType(msg))). zap.String("message", msgType(msg))).
Debug("sending message to all") Debug("sending message to all")
// dial manually to all peers
for _, rp := range s.nodes {
if er := s.pool.DialAndAddPeer(context.Background(), 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))
}
}
marshalled, err := proto.Marshal(msg) marshalled, err := proto.Marshal(msg)
if err != nil { if err != nil {
return err return err