Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChannelObject ¶ added in v0.1.33
type ChannelObject struct {
// contains filtered or unexported fields
}
func Channel ¶
func Channel(name string) (*ChannelObject, error)
Channel will create a new ChannelObject based on the provided name returns a ChannelObject and an error
Example ¶
package main
import (
"fmt"
symbols "bitbucket.org/taubyte/go-sdk-symbols/pubsub"
"bitbucket.org/taubyte/go-sdk/pubsub"
)
func main() {
// Mocking the calls to the vm for usage in tests and playground
m := symbols.MockData{
Channel: "someChannel",
WebSocketURL: "ws-QmQq71tkq1yKmYobFUhPWF2MejK5CrvpY4h7HQDDT8b8Zb/someChannel",
}.Mock()
channel, err := pubsub.Channel("someChannel")
if err != nil {
return
}
fmt.Println("Name:", channel.Name())
err = channel.Subscribe()
if err != nil {
return
}
fmt.Println("Subscriptions:", m.Subscriptions)
err = channel.Publish([]byte("Hello, world!"))
if err != nil {
return
}
fmt.Println("Published:", string(m.PublishedData))
url, err := channel.WebSocket().Url()
if err != nil {
return
}
fmt.Println("Url:", url.Path)
}
Output: Name: someChannel Subscriptions: [someChannel] Published: Hello, world! Url: ws-QmQq71tkq1yKmYobFUhPWF2MejK5CrvpY4h7HQDDT8b8Zb/someChannel
func (*ChannelObject) Name ¶ added in v0.1.33
func (c *ChannelObject) Name() string
returns the name of the channel
func (*ChannelObject) Publish ¶ added in v0.1.33
func (c *ChannelObject) Publish(data []byte) error
Publish will publish provided data onto the pub-sub channel returns an error
Example ¶
package main
import (
"fmt"
symbols "bitbucket.org/taubyte/go-sdk-symbols/pubsub"
"bitbucket.org/taubyte/go-sdk/pubsub"
)
func main() {
// Mocking the calls to the vm for usage in tests and playground
m := symbols.MockData{
Channel: "someChannel",
}.Mock()
channel, err := pubsub.Channel("someChannel")
if err != nil {
return
}
err = channel.Publish([]byte("Hello, world!"))
if err != nil {
return
}
fmt.Println("Published:", string(m.PublishedData))
}
Output: Published: Hello, world!
func (*ChannelObject) Subscribe ¶ added in v0.1.33
func (c *ChannelObject) Subscribe() error
Subscribe tells a node to subscribe to a given pub-sub channel returns an error
Example ¶
package main
import (
"fmt"
symbols "bitbucket.org/taubyte/go-sdk-symbols/pubsub"
"bitbucket.org/taubyte/go-sdk/pubsub"
)
func main() {
// Mocking the calls to the vm for usage in tests and playground
m := symbols.MockData{
Channel: "someChannel",
}.Mock()
channel, err := pubsub.Channel("someChannel")
if err != nil {
return
}
err = channel.Subscribe()
if err != nil {
return
}
fmt.Println("Subs:", m.Subscriptions)
}
Output: Subs: [someChannel]
func (*ChannelObject) WebSocket ¶ added in v0.1.33
func (c *ChannelObject) WebSocket() WebSocket
Example ¶
package main
import (
"fmt"
symbols "bitbucket.org/taubyte/go-sdk-symbols/pubsub"
"bitbucket.org/taubyte/go-sdk/pubsub"
)
func main() {
// Mocking the calls to the vm for usage in tests and playground
symbols.MockData{
Channel: "someChannel",
WebSocketURL: "ws-QmQq71tkq1yKmYobFUhPWF2MejK5CrvpY4h7HQDDT8b8Zb/someChannel",
}.Mock()
channel, err := pubsub.Channel("someChannel")
if err != nil {
return
}
url, err := channel.WebSocket().Url()
if err != nil {
return
}
fmt.Println("URL:", url.Path)
}
Output: URL: ws-QmQq71tkq1yKmYobFUhPWF2MejK5CrvpY4h7HQDDT8b8Zb/someChannel
type PubSubEvent ¶
type PubSubEvent uint32
func (PubSubEvent) Channel ¶
func (e PubSubEvent) Channel() (*ChannelObject, error)
Channel will get the name of the event's channel returns a ChannelObject and an error
Example ¶
package main
import (
"fmt"
symbols "bitbucket.org/taubyte/go-sdk-symbols/pubsub"
"bitbucket.org/taubyte/go-sdk/event"
)
func main() {
// Mocking the calls to the vm for usage in tests and playground
symbols.MockData{
Channel: "someChannel",
}.Mock()
// An event that would be received by a taubyte function
var e event.Event
pubSubEvent, err := e.PubSub()
if err != nil {
return
}
channel, err := pubSubEvent.Channel()
if err != nil {
return
}
fmt.Println("Channel:", channel.Name())
}
Output: Channel: someChannel
func (PubSubEvent) Data ¶
func (e PubSubEvent) Data() ([]byte, error)
Data will get the data received with the pub-sub event returns a byte slice and an error
Example ¶
package main
import (
"fmt"
symbols "bitbucket.org/taubyte/go-sdk-symbols/pubsub"
"bitbucket.org/taubyte/go-sdk/event"
)
func main() {
// Mocking the calls to the vm for usage in tests and playground
symbols.MockData{
EventData: []byte("Hello, world!"),
}.Mock()
// An event that would be received by a taubyte function
var e event.Event
pubSubEvent, err := e.PubSub()
if err != nil {
return
}
data, err := pubSubEvent.Data()
if err != nil {
return
}
fmt.Println("Data:", string(data))
}
Output: Data: Hello, world!
type PubSubEventMessage ¶
type PubSubEventMessage uint32
Click to show internal directories.
Click to hide internal directories.