Open hsanjuan opened 5 years ago
Let's not change that, the pid1 == pid2
test is prevalent in the codebase.
pid1 == pid2
would still work with type ID struct { str string }
. The only issue would be pid1 == ""
(which we do use) but I can live with that.
Since
peer.ID
s defines themselves asstr
, defining amap[peer.ID]<type>
and marshaling that to JSON does not make use of theMarshalText()
facility to encode the map keys. Somehow default encoding/decoding when doing it doesn't work (it decodes peers with different IDs but doesn't complain, which is worse).See https://github.com/golang/go/issues/28827
Probably doing the same thing as
cid
s and switching totype ID struct { str string }
would fix this.However, this might be very breaking because people rely on doing
pid1 == pid2
(and I think that would stop working, at least from outside this package? it is not clear from the Go documentation).Thoughts?