aboutsummaryrefslogtreecommitdiffstats
path: root/whisper/topic.go
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2015-04-14 16:12:09 +0800
committerPéter Szilágyi <peterke@gmail.com>2015-04-14 16:12:09 +0800
commit4af7743663fa3e444668b90878f64d0df4316deb (patch)
tree0ad5898d8510600fe8cfe230d18f2c72b8cf53ed /whisper/topic.go
parentcb707ba50ce8626aa1b0e87d7526416a9592852a (diff)
downloadgo-tangerine-4af7743663fa3e444668b90878f64d0df4316deb.tar.gz
go-tangerine-4af7743663fa3e444668b90878f64d0df4316deb.tar.zst
go-tangerine-4af7743663fa3e444668b90878f64d0df4316deb.zip
whisper: add utility functions for creating topics
Diffstat (limited to 'whisper/topic.go')
-rw-r--r--whisper/topic.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/whisper/topic.go b/whisper/topic.go
index 10069c902..7792e437f 100644
--- a/whisper/topic.go
+++ b/whisper/topic.go
@@ -17,6 +17,32 @@ func NewTopic(data []byte) Topic {
return Topic(prefix)
}
+// NewTopics creates a list of topics from a list of binary data elements, by
+// iteratively calling NewTopic on each of them.
+func NewTopics(data ...[]byte) []Topic {
+ topics := make([]Topic, len(data))
+ for i, element := range data {
+ topics[i] = NewTopic(element)
+ }
+ return topics
+}
+
+// NewTopicFromString creates a topic using the binary data contents of the
+// specified string.
+func NewTopicFromString(data string) Topic {
+ return NewTopic([]byte(data))
+}
+
+// NewTopicsFromStrings creates a list of topics from a list of textual data
+// elements, by iteratively calling NewTopicFromString on each of them.
+func NewTopicsFromStrings(data ...string) []Topic {
+ topics := make([]Topic, len(data))
+ for i, element := range data {
+ topics[i] = NewTopicFromString(element)
+ }
+ return topics
+}
+
// String converts a topic byte array to a string representation.
func (self *Topic) String() string {
return string(self[:])