Added extra comments.

This commit is contained in:
anthdm 2018-01-29 08:11:08 +01:00
parent 5f32ce5dd6
commit 55a9dc5feb
2 changed files with 11 additions and 2 deletions

View file

@ -32,3 +32,6 @@ Make sure you have a private net running. If you dont, take a look at [docker-pr
The only thing the server currently will do is asking for peers and connect to the responded peers. All other messages are in development. The only thing the server currently will do is asking for peers and connect to the responded peers. All other messages are in development.
# Contributing
todo.

View file

@ -140,18 +140,22 @@ func (s *Server) loop() {
for { for {
select { select {
case peer := <-s.register: case peer := <-s.register:
// When a new connection is been established, (by this server or remote node)
// its peer will be received on this channel.
// Any peer registration must happen via this channel.
s.logger.Printf("peer registered from address %s", peer.conn.RemoteAddr()) s.logger.Printf("peer registered from address %s", peer.conn.RemoteAddr())
s.peers[peer] = true s.peers[peer] = true
// only respond with the version mesage if the peer initiated the connection. // Only respond with a version message if the peer initiated the connection.
if peer.initiator { if peer.initiator {
resp, err := s.handlePeerConnected() resp, err := s.handlePeerConnected()
if err != nil { if err != nil {
s.logger.Fatalf("handling initial peer connection failed: %s", err) s.logger.Fatalf("handling initial peer connection failed: %s", err)
} } else {
peer.send <- resp peer.send <- resp
} }
}
case peer := <-s.unregister: case peer := <-s.unregister:
// unregister should take care of all the cleanup that has to be made. // unregister should take care of all the cleanup that has to be made.
if _, ok := s.peers[peer]; ok { if _, ok := s.peers[peer]; ok {
@ -161,6 +165,8 @@ func (s *Server) loop() {
s.logger.Printf("peer %s disconnected", peer.conn.RemoteAddr()) s.logger.Printf("peer %s disconnected", peer.conn.RemoteAddr())
} }
case tuple := <-s.message: case tuple := <-s.message:
// When a remote node sends data over its connection it will be received
// on this channel.
if err := s.processMessage(tuple.msg, tuple.peer); err != nil { if err := s.processMessage(tuple.msg, tuple.peer); err != nil {
s.logger.Fatalf("failed to process message: %s", err) s.logger.Fatalf("failed to process message: %s", err)
s.disconnect(tuple.peer) s.disconnect(tuple.peer)