Esempio n. 1
0
func (s *gossipTestServer) GossipStream(stream proto.Gossip_GossipStreamServer) error {
	s.lock.Lock()
	s.tlsUnique = ExtractTLSUnique(stream.Context())
	s.lock.Unlock()
	m, err := stream.Recv()
	if err != nil {
		fmt.Println(err)
	} else {
		s.msgChan <- m.Nonce
	}

	return nil
}
Esempio n. 2
0
func (g *gossipInstance) GossipStream(stream proto.Gossip_GossipStreamServer) error {
	for {
		gMsg, err := stream.Recv()
		if err == io.EOF {
			return nil
		}
		if err != nil {
			return err
		}
		lgr := g.Discovery.(*gossipDiscoveryImpl).logger
		lgr.Debug(g.Discovery.Self().Endpoint, "Got message:", gMsg)
		g.comm.incMsgs <- gMsg

		if aliveMsg := gMsg.GetAliveMsg(); aliveMsg != nil {
			g.tryForwardMessage(gMsg)
		}
	}
}