First draft of Whisper messages relaying

This commit is contained in:
obscuren
2014-12-08 12:43:33 +01:00
parent f06543fd06
commit ebe2d9d872
7 changed files with 472 additions and 0 deletions

25
whisper/sort.go Normal file
View File

@ -0,0 +1,25 @@
package whisper
import "sort"
type sortedKeys struct {
k []int32
}
func (self *sortedKeys) Len() int { return len(self.k) }
func (self *sortedKeys) Less(i, j int) bool { return self.k[i] < self.k[j] }
func (self *sortedKeys) Swap(i, j int) { self.k[i], self.k[j] = self.k[j], self.k[i] }
func sortKeys(m map[int32]Hash) []int32 {
sorted := new(sortedKeys)
sorted.k = make([]int32, len(m))
i := 0
for key, _ := range m {
sorted.k[i] = key
i++
}
sort.Sort(sorted)
return sorted.k
}