# README
Pub/Sub
Channel API
interface
GetChannels(ctx, cios.ApiGetChannelsRequest) (cios.MultipleChannel, *_nethttp.Response, error)
GetChannelsAll(ctx, cios.ApiGetChannelsRequest) ([]cios.Channel, *_nethttp.Response, error)
GetChannelsUnlimited(ctx, cios.ApiGetChannelsRequest) ([]cios.Channel, *_nethttp.Response, error)
GetChannel(ctx, string, *bool, *string) (cios.Channel, *_nethttp.Response, error)
GetChannelFirst(ctx, cios.ApiGetChannelsRequest) (cios.Channel, *_nethttp.Response, error)
GetChannelsMapByID(ctx, cios.ApiGetChannelsRequest) (map[string]cios.Channel, *_nethttp.Response, error)
GetChannelsMapByResourceOwnerID(ctx, cios.ApiGetChannelsRequest) (map[string][]cios.Channel, *_nethttp.Response, error)
DeleteChannel(ctx, string) (*_nethttp.Response, error)
GetOrCreateChannel(ctx, cios.ApiGetChannelsRequest, cios.ChannelProposal) (cios.Channel, *_nethttp.Response, error)
CreateChannel(ctx, cios.ChannelProposal) (cios.Channel, *_nethttp.Response, error)
UpdateChannel(ctx, string, cios.ChannelUpdateProposal) (cios.MultipleChannel, *_nethttp.Response, error)
Usage
Get a Channel
options := srvpubsub.MakeGetChannelsOpts
channel, httpResponse, err := client.PubSub().GetChannel(ctx, "channel_id", nil, nil)
Get Channels max limit 1000
options := srvpubsub.MakeGetChannelsOpts
channels, httpResponse, err := client.PubSub().GetChannels(ctx, options().Limit(500))
Get Channels no limit
options := srvpubsub.MakeGetChannelsOpts
channels, httpResponse, err := client.PubSub().GetChannelsAll(ctx, options().Limit(500))
Get Channels unlimited
options := srvpubsub.MakeGetChannelsOpts
channels, httpResponse, err := client.PubSub().GetChannelsUnlimited(ctx, options().Limit(500))
Get a Channel that is first Channels API
options := srvpubsub.MakeGetChannelsOpts
channel, httpResponse, err := client.PubSub().GetChannelFirst(ctx, options().Label("sample=test"))
Get Channel Map by Channel ID
options := srvpubsub.MakeGetChannelsOpts
channelMap, httpResponse, err := client.PubSub().GetChannelsMapByID(ctx, options().Label("sample=test"))
Get Channel Map by ResourceOwner ID
options := srvpubsub.MakeGetChannelsOpts
channelMap, httpResponse, err := client.PubSub().GetChannelsMapByResourceOwnerID(ctx, options().Label("sample=test"))
Get or Create a Channel
options := srvpubsub.MakeGetChannelsOpts
channel, httpResponse, err := client.PubSub().GetOrCreateChannel(ctx, options().Limit(500), cios.ChannelProposal{})
Create a Channel
channel, httpResponse, err := client.PubSub().CreateChannel(ctx, cios.ChannelProposal{})
Update a Channel
_, httpResponse, err := client.PubSub().UpdateChannel(ctx, cios.ChannelUpdateProposal{})
Delete a Channel
_, httpResponse, err := client.PubSub().UpdateChannel(ctx, cios.ChannelUpdateProposal{})
Data Store API
interface
GetDataStoreChannels(ctx, cios.ApiGetDataStoreChannelsRequest) (cios.MultipleDataStoreChannel, *_nethttp.Response, error)
GetDataStoreChannel(ctx, string) (cios.DataStoreChannel, *_nethttp.Response, error)
GetObjects(ctx, string, cios.ApiGetDataStoreObjectsRequest) (cios.MultipleDataStoreObject, *_nethttp.Response, error)
GetObjectsAll(ctx, string, cios.ApiGetDataStoreObjectsRequest) ([]cios.DataStoreObject, *_nethttp.Response, error)
GetObjectsUnlimited(ctx, string, cios.ApiGetDataStoreObjectsRequest) ([]cios.DataStoreObject, *_nethttp.Response, error)
GetObject(ctx, string, string, *string) (interface{}, *_nethttp.Response, error)
GetObjectLatest(ctx, string, *string) (interface{}, *_nethttp.Response, error)
MapObjectLatest(ctx, string, *string, interface{}) (*_nethttp.Response, error)
GetMultiObjectLatest(ctx, []string) (cios.MultipleDataStoreDataLatest, *_nethttp.Response, error)
GetMultiObjectLatestByChannels(ctx, []cios.Channel) (cios.MultipleDataStoreDataLatest, *_nethttp.Response, error)
MapMultiObjectLatestPayload(ctx, []string, interface{}) ([]cios.PackerFormatJsonHeader, *_nethttp.Response, error)
MapMultiObjectLatestPayloadByChannels(ctx, []cios.Channel, interface{}) ([]cios.PackerFormatJsonHeader, *_nethttp.Response, error)
GetStream(ctx, string, sdkmodel.ApiGetStreamRequest) ([]string, error)
GetStreamAll(ctx, string, sdkmodel.ApiGetStreamRequest) ([]string, error)
GetStreamUnlimited(ctx, string, sdkmodel.ApiGetStreamRequest) ([]string, error)
MapStreamAll(ctx, string, sdkmodel.ApiGetStreamRequest, interface{}) error
MapStreamUnlimited(ctx, string, sdkmodel.ApiGetStreamRequest, interface{}) error
GetJsonStreamUnlimited(ctx, string, sdkmodel.ApiGetStreamRequest) ([]cios.PackerFormatJson, error)
GetStreamFirst(ctx, string, sdkmodel.ApiGetStreamRequest) (string, error)
MapStreamFirst(ctx, string, sdkmodel.ApiGetStreamRequest, interface{}) error
DeleteDataByChannel(ctx, string) (*_nethttp.Response, error)
DeleteObject(ctx, string, string) (*_nethttp.Response, error)
Usage
Get Channels on Data Store max limit 1000
options := srvpubsub.MakeGetDataStoreChannelsOpts()
channels, httpResponse, err := client.PubSub().GetDataStoreChannels(ctx, options().Limit(1000))
Get a Channel on Data Store
channel, httpResponse, err := client.PubSub().GetDataStoreChannel(ctx, "channel_id")
Get a DataStore Object
※ Fix in the future
packer_format := "payload_only"
object, httpResponse, err := client.PubSub().GetObject(ctx, "channel_id", "object_id", &packer_format)
Get latest DataStore Object
※ Fix in the future
packer_format := "payload_only"
object, httpResponse, err := client.PubSub().GetObjectLatest(ctx, "channel_id", &packer_format)
Get latest DataStore Object on Channels
objects, httpResponse, err := client.PubSub().GetMultiObjectLatest(ctx, []string{"channel_id1", "channel_id2", "channel_id3"})
Get latest DataStore Object by Channels
objects, httpResponse, err := client.PubSub().GetMultiObjectLatest(ctx, []cios.Channel{channel1, channel2, channel3})
Get DataStore Objects max limit 1000
options := srvpubsub.MakeGetObjectsOpts
objects, httpResponse, err := client.PubSub().GetObjects(ctx, "channel_id", options())
Get DataStore Objects no limit
options := srvpubsub.MakeGetObjectsOpts
objects, httpResponse, err := client.PubSub().GetObjectsAll(ctx, "channel_id", options())
Get DataStore Objects unlimited
options := srvpubsub.MakeGetObjectsOpts
objects, httpResponse, err := client.PubSub().GetObjectsUnlimited(ctx, "channel_id", options())
Parse latest for Object
packerFormat := "payload_only"
sample := struct{....}{}
httpResponse, err := client.PubSub().MapObjectLatest(ctx, "channel_id", &packerFormat, &sample)
Parse latest for Object on channels
※ Fix in the future
packerFormat := "payload_only"
sample := struct{....}{}
httpResponse, err := client.PubSub().MapMultiObjectLatestPayload(ctx, []string{"channel_id", "channel_id"}, &sample)
Get DataStore Stream max limit 1000
options := srvpubsub.MakeGetStreamOpts
stream, err := client.PubSub().GetStream(ctx, "channel_id", options())
Get DataStore Stream no limit
options := srvpubsub.MakeGetStreamOpts
stream, err := client.PubSub().GetStreamAll(ctx, "channel_id", options())
Get DataStore Stream unlimited
options := srvpubsub.MakeGetStreamOpts
stream, err := client.PubSub().GetStreamUnimited(ctx, "channel_id", options())
Get a DataStore Stream first
options := srvpubsub.MakeGetStreamOpts
data, err := client.PubSub().GetStreamFirst(ctx, "channel_id", options())
Parse DataStore Stream no limit
data := []struct{...}{}
options := srvpubsub.MakeGetStreamOpts
err := client.PubSub().MapStreamAll(ctx, "channel_id", options(), &data)
Parse DataStore Stream unlimited
data := []struct{...}{}
options := srvpubsub.MakeGetStreamOpts
err := client.PubSub().MapStreamUnlimited(ctx, "channel_id", options(), &data)
Map a DataStore Stream first
options := srvpubsub.MakeGetStreamOpts
data := struct{}{}
err := client.PubSub().GetStreamFirst(ctx, "channel_id", options(), &data)
Delete DataStore Objects
httpResponse, err := client.PubSub().DeleteDataByChannel(ctx, "channel_id")
Delete a DataStore Object
httpResponse, err := client.PubSub().DeleteObject(ctx, "channel_id", "object_id")
Messaging API
interface
NewMessaging(string, enum.MessagingMode, enum.PackerFormat) *srvpubsub.CiosMessaging
PublishMessage(ciosctx.RequestCtx, string, interface{}, *string) (*_nethttp.Response, error)
PublishMessagePackerOnly(ciosctx.RequestCtx, string, interface{}) (*_nethttp.Response, error)
PublishMessageJSON(ciosctx.RequestCtx, string, cios.PackerFormatJson) (*_nethttp.Response, error)
Usage
Publish Message
※ Fix in the future
packerFormat := "payload_only"
data := struct{}{}
httpResponse, err := client.PubSub().PublishMessage(ctx, "channel_id", data, &packetFormat)
Publish payload only format
※ Fix in the future
data := struct{}{}
httpResponse, err := client.PubSub().PublishMessagePackerOnly(ctx, "channel_id", data)
Publish json format
data := struct{}{}
httpResponse, err := client.PubSub().PublishMessageJSON(ctx, "channel_id", data)
Create Messaging instance
ms := client.PubSub().NewMessaging("channel_id", enum.PubSub, enum.Json)
err := ms.Start(ctx)
...
ms.Close()
About Messaging Instance
※ Fix in the future
What doesn't exist interface yet.
-
Send a Message
Send(message []byte) (err error) SendStr(message string) error SendAny(message interface{}) error SendJson(message interface{}) error Publish(message interface{}) error
err := ms.Send([]byte{}) err := ms.SendStr("sample") err := ms.SendJson(struct{}{})
-
Receive a Message
Receive() (body []byte, err error) ReceiveStr() (string, error) MapReceived(stct interface{})
byts, err := ms.Receive() str, err := ms.ReceiveStr() data struct{} err := ms.MapReceived(&data)
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
No description provided by the author