pbx

package
v0.0.0-...-261f1bd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2018 License: GPL-3.0 Imports: 5 Imported by: 0

README

Protocol Buffer and gRPC definitions

Definitions for gRPC client and plugins.

gRPC clients must implement rpc service Node, plugins Plugin.

Generated Go and Python code is included. For a sample Python implementation of a command line client see tn-cli. For a partial plugin implementation see chatbot.

If you want to make changes, you have to install protobuffers tool chain and gRPC. To generate Go bindings add the following comment to your code and run go generate (your actual path to /pbx may be different):

//go:generate protoc --proto_path=../pbx --go_out=plugins=grpc:../pbx ../pbx/model.proto

To generate Python bindings:

python -m grpc_tools.protoc -I../pbx --python_out=. --grpc_python_out=. ../pbx/model.proto

Documentation

Overview

Package pbx is a generated protocol buffer package.

It is generated from these files:

model.proto

It has these top-level messages:

Unused
DefaultAcsMode
AccessMode
SetSub
SetDesc
GetOpts
BrowseOpts
GetQuery
SetQuery
SeqRange
Credential
ClientHi
ClientAcc
ClientLogin
ClientSub
ClientLeave
ClientPub
ClientGet
ClientSet
ClientDel
ClientNote
ClientMsg
TopicDesc
TopicSub
DelValues
ServerCtrl
ServerData
ServerPres
ServerMeta
ServerInfo
ServerMsg
ServerResp
Session
ClientReq
SearchQuery
SearchFound
TopicEvent
AccountEvent
SubscriptionEvent
MessageEvent

Index

Constants

This section is empty.

Variables

View Source
var ClientDel_What_name = map[int32]string{
	0: "MSG",
	1: "TOPIC",
	2: "SUB",
}
View Source
var ClientDel_What_value = map[string]int32{
	"MSG":   0,
	"TOPIC": 1,
	"SUB":   2,
}
View Source
var Crud_name = map[int32]string{
	0: "CREATE",
	1: "UPDATE",
	2: "DELETE",
}
View Source
var Crud_value = map[string]int32{
	"CREATE": 0,
	"UPDATE": 1,
	"DELETE": 2,
}
View Source
var InfoNote_name = map[int32]string{
	0: "READ",
	1: "RECV",
	2: "KP",
}
View Source
var InfoNote_value = map[string]int32{
	"READ": 0,
	"RECV": 1,
	"KP":   2,
}
View Source
var RespCode_name = map[int32]string{
	0: "CONTINUE",
	1: "DROP",
	2: "RESPOND",
	3: "REPLACE",
}
View Source
var RespCode_value = map[string]int32{
	"CONTINUE": 0,
	"DROP":     1,
	"RESPOND":  2,
	"REPLACE":  3,
}
View Source
var ServerPres_What_name = map[int32]string{
	0:  "ON",
	1:  "OFF",
	3:  "UA",
	4:  "UPD",
	5:  "GONE",
	6:  "ACS",
	7:  "TERM",
	8:  "MSG",
	9:  "READ",
	10: "RECV",
	11: "DEL",
}
View Source
var ServerPres_What_value = map[string]int32{
	"ON":   0,
	"OFF":  1,
	"UA":   3,
	"UPD":  4,
	"GONE": 5,
	"ACS":  6,
	"TERM": 7,
	"MSG":  8,
	"READ": 9,
	"RECV": 10,
	"DEL":  11,
}
View Source
var Session_AuthLevel_name = map[int32]string{
	0:  "NONE",
	10: "ANON",
	20: "AUTH",
	30: "ROOT",
}
View Source
var Session_AuthLevel_value = map[string]int32{
	"NONE": 0,
	"ANON": 10,
	"AUTH": 20,
	"ROOT": 30,
}

Functions

func RegisterNodeServer

func RegisterNodeServer(s *grpc.Server, srv NodeServer)

func RegisterPluginServer

func RegisterPluginServer(s *grpc.Server, srv PluginServer)

Types

type AccessMode

type AccessMode struct {
	// Access mode requested by the user
	Want string `protobuf:"bytes,1,opt,name=want" json:"want,omitempty"`
	// Access mode granted to the user by the admin
	Given string `protobuf:"bytes,2,opt,name=given" json:"given,omitempty"`
}

Actual access mode

func (*AccessMode) Descriptor

func (*AccessMode) Descriptor() ([]byte, []int)

func (*AccessMode) GetGiven

func (m *AccessMode) GetGiven() string

func (*AccessMode) GetWant

func (m *AccessMode) GetWant() string

func (*AccessMode) ProtoMessage

func (*AccessMode) ProtoMessage()

func (*AccessMode) Reset

func (m *AccessMode) Reset()

func (*AccessMode) String

func (m *AccessMode) String() string

type AccountEvent

type AccountEvent struct {
	Action     Crud            `protobuf:"varint,1,opt,name=action,enum=pbx.Crud" json:"action,omitempty"`
	UserId     string          `protobuf:"bytes,2,opt,name=user_id,json=userId" json:"user_id,omitempty"`
	DefaultAcs *DefaultAcsMode `protobuf:"bytes,3,opt,name=default_acs,json=defaultAcs" json:"default_acs,omitempty"`
	Public     []byte          `protobuf:"bytes,4,opt,name=public,proto3" json:"public,omitempty"`
	// Indexable tags for user discovery
	Tags []string `protobuf:"bytes,8,rep,name=tags" json:"tags,omitempty"`
}

func (*AccountEvent) Descriptor

func (*AccountEvent) Descriptor() ([]byte, []int)

func (*AccountEvent) GetAction

func (m *AccountEvent) GetAction() Crud

func (*AccountEvent) GetDefaultAcs

func (m *AccountEvent) GetDefaultAcs() *DefaultAcsMode

func (*AccountEvent) GetPublic

func (m *AccountEvent) GetPublic() []byte

func (*AccountEvent) GetTags

func (m *AccountEvent) GetTags() []string

func (*AccountEvent) GetUserId

func (m *AccountEvent) GetUserId() string

func (*AccountEvent) ProtoMessage

func (*AccountEvent) ProtoMessage()

func (*AccountEvent) Reset

func (m *AccountEvent) Reset()

func (*AccountEvent) String

func (m *AccountEvent) String() string

type BrowseOpts

type BrowseOpts struct {
	// Load messages with seq id equal or greater than this
	SinceId int32 `protobuf:"varint,1,opt,name=since_id,json=sinceId" json:"since_id,omitempty"`
	// Load messages with seq id lower than this
	BeforeId int32 `protobuf:"varint,3,opt,name=before_id,json=beforeId" json:"before_id,omitempty"`
	// Limit the number of messages loaded
	Limit int32 `protobuf:"varint,5,opt,name=limit" json:"limit,omitempty"`
}

func (*BrowseOpts) Descriptor

func (*BrowseOpts) Descriptor() ([]byte, []int)

func (*BrowseOpts) GetBeforeId

func (m *BrowseOpts) GetBeforeId() int32

func (*BrowseOpts) GetLimit

func (m *BrowseOpts) GetLimit() int32

func (*BrowseOpts) GetSinceId

func (m *BrowseOpts) GetSinceId() int32

func (*BrowseOpts) ProtoMessage

func (*BrowseOpts) ProtoMessage()

func (*BrowseOpts) Reset

func (m *BrowseOpts) Reset()

func (*BrowseOpts) String

func (m *BrowseOpts) String() string

type ClientAcc

type ClientAcc struct {
	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// User being created or updated
	UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId" json:"user_id,omitempty"`
	// The initial authentication scheme the account can use
	Scheme string `protobuf:"bytes,3,opt,name=scheme" json:"scheme,omitempty"`
	// Shared secret
	Secret []byte `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"`
	// Authenticate session with the newly created account
	Login bool `protobuf:"varint,5,opt,name=login" json:"login,omitempty"`
	// Indexable tags for user discovery
	Tags []string `protobuf:"bytes,6,rep,name=tags" json:"tags,omitempty"`
	// User initialization data when creating a new user, otherwise ignored
	Desc *SetDesc `protobuf:"bytes,7,opt,name=desc" json:"desc,omitempty"`
	// Credentials for verification.
	Cred []*Credential `protobuf:"bytes,8,rep,name=cred" json:"cred,omitempty"`
}

User creation message {acc}

func (*ClientAcc) Descriptor

func (*ClientAcc) Descriptor() ([]byte, []int)

func (*ClientAcc) GetCred

func (m *ClientAcc) GetCred() []*Credential

func (*ClientAcc) GetDesc

func (m *ClientAcc) GetDesc() *SetDesc

func (*ClientAcc) GetId

func (m *ClientAcc) GetId() string

func (*ClientAcc) GetLogin

func (m *ClientAcc) GetLogin() bool

func (*ClientAcc) GetScheme

func (m *ClientAcc) GetScheme() string

func (*ClientAcc) GetSecret

func (m *ClientAcc) GetSecret() []byte

func (*ClientAcc) GetTags

func (m *ClientAcc) GetTags() []string

func (*ClientAcc) GetUserId

func (m *ClientAcc) GetUserId() string

func (*ClientAcc) ProtoMessage

func (*ClientAcc) ProtoMessage()

func (*ClientAcc) Reset

func (m *ClientAcc) Reset()

func (*ClientAcc) String

func (m *ClientAcc) String() string

type ClientDel

type ClientDel struct {
	Id    string         `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Topic string         `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	What  ClientDel_What `protobuf:"varint,3,opt,name=what,enum=pbx.ClientDel_What" json:"what,omitempty"`
	// Delete messages by id or range of ids
	DelSeq []*SeqRange `protobuf:"bytes,4,rep,name=del_seq,json=delSeq" json:"del_seq,omitempty"`
	// User ID of the subscription to delete
	UserId string `protobuf:"bytes,5,opt,name=user_id,json=userId" json:"user_id,omitempty"`
	// Request to hard-delete messages for all users, if such option is available.
	Hard bool `protobuf:"varint,6,opt,name=hard" json:"hard,omitempty"`
}

ClientDel delete messages or topic

func (*ClientDel) Descriptor

func (*ClientDel) Descriptor() ([]byte, []int)

func (*ClientDel) GetDelSeq

func (m *ClientDel) GetDelSeq() []*SeqRange

func (*ClientDel) GetHard

func (m *ClientDel) GetHard() bool

func (*ClientDel) GetId

func (m *ClientDel) GetId() string

func (*ClientDel) GetTopic

func (m *ClientDel) GetTopic() string

func (*ClientDel) GetUserId

func (m *ClientDel) GetUserId() string

func (*ClientDel) GetWhat

func (m *ClientDel) GetWhat() ClientDel_What

func (*ClientDel) ProtoMessage

func (*ClientDel) ProtoMessage()

func (*ClientDel) Reset

func (m *ClientDel) Reset()

func (*ClientDel) String

func (m *ClientDel) String() string

type ClientDel_What

type ClientDel_What int32

What to delete, either "msg" to delete messages (default) or "topic" to delete the topic or "sub" to delete a subscription to topic.

const (
	ClientDel_MSG   ClientDel_What = 0
	ClientDel_TOPIC ClientDel_What = 1
	ClientDel_SUB   ClientDel_What = 2
)

func (ClientDel_What) EnumDescriptor

func (ClientDel_What) EnumDescriptor() ([]byte, []int)

func (ClientDel_What) String

func (x ClientDel_What) String() string

type ClientGet

type ClientGet struct {
	Id    string    `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Topic string    `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	Query *GetQuery `protobuf:"bytes,3,opt,name=query" json:"query,omitempty"`
}

Query topic state {get}

func (*ClientGet) Descriptor

func (*ClientGet) Descriptor() ([]byte, []int)

func (*ClientGet) GetId

func (m *ClientGet) GetId() string

func (*ClientGet) GetQuery

func (m *ClientGet) GetQuery() *GetQuery

func (*ClientGet) GetTopic

func (m *ClientGet) GetTopic() string

func (*ClientGet) ProtoMessage

func (*ClientGet) ProtoMessage()

func (*ClientGet) Reset

func (m *ClientGet) Reset()

func (*ClientGet) String

func (m *ClientGet) String() string

type ClientHi

type ClientHi struct {
	Id        string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	UserAgent string `protobuf:"bytes,2,opt,name=user_agent,json=userAgent" json:"user_agent,omitempty"`
	Ver       string `protobuf:"bytes,3,opt,name=ver" json:"ver,omitempty"`
	DeviceId  string `protobuf:"bytes,4,opt,name=device_id,json=deviceId" json:"device_id,omitempty"`
	Lang      string `protobuf:"bytes,5,opt,name=lang" json:"lang,omitempty"`
}

Client handshake

func (*ClientHi) Descriptor

func (*ClientHi) Descriptor() ([]byte, []int)

func (*ClientHi) GetDeviceId

func (m *ClientHi) GetDeviceId() string

func (*ClientHi) GetId

func (m *ClientHi) GetId() string

func (*ClientHi) GetLang

func (m *ClientHi) GetLang() string

func (*ClientHi) GetUserAgent

func (m *ClientHi) GetUserAgent() string

func (*ClientHi) GetVer

func (m *ClientHi) GetVer() string

func (*ClientHi) ProtoMessage

func (*ClientHi) ProtoMessage()

func (*ClientHi) Reset

func (m *ClientHi) Reset()

func (*ClientHi) String

func (m *ClientHi) String() string

type ClientLeave

type ClientLeave struct {
	Id    string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Topic string `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	Unsub bool   `protobuf:"varint,3,opt,name=unsub" json:"unsub,omitempty"`
}

Unsubscribe {leave} request message

func (*ClientLeave) Descriptor

func (*ClientLeave) Descriptor() ([]byte, []int)

func (*ClientLeave) GetId

func (m *ClientLeave) GetId() string

func (*ClientLeave) GetTopic

func (m *ClientLeave) GetTopic() string

func (*ClientLeave) GetUnsub

func (m *ClientLeave) GetUnsub() bool

func (*ClientLeave) ProtoMessage

func (*ClientLeave) ProtoMessage()

func (*ClientLeave) Reset

func (m *ClientLeave) Reset()

func (*ClientLeave) String

func (m *ClientLeave) String() string

type ClientLogin

type ClientLogin struct {
	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	// Authentication scheme
	Scheme string `protobuf:"bytes,2,opt,name=scheme" json:"scheme,omitempty"`
	// Shared secret
	Secret []byte `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"`
	// Credentials for verification.
	Cred []*Credential `protobuf:"bytes,4,rep,name=cred" json:"cred,omitempty"`
}

Login {login} message

func (*ClientLogin) Descriptor

func (*ClientLogin) Descriptor() ([]byte, []int)

func (*ClientLogin) GetCred

func (m *ClientLogin) GetCred() []*Credential

func (*ClientLogin) GetId

func (m *ClientLogin) GetId() string

func (*ClientLogin) GetScheme

func (m *ClientLogin) GetScheme() string

func (*ClientLogin) GetSecret

func (m *ClientLogin) GetSecret() []byte

func (*ClientLogin) ProtoMessage

func (*ClientLogin) ProtoMessage()

func (*ClientLogin) Reset

func (m *ClientLogin) Reset()

func (*ClientLogin) String

func (m *ClientLogin) String() string

type ClientMsg

type ClientMsg struct {
	// Types that are valid to be assigned to Message:
	//	*ClientMsg_Hi
	//	*ClientMsg_Acc
	//	*ClientMsg_Login
	//	*ClientMsg_Sub
	//	*ClientMsg_Leave
	//	*ClientMsg_Pub
	//	*ClientMsg_Get
	//	*ClientMsg_Set
	//	*ClientMsg_Del
	//	*ClientMsg_Note
	Message isClientMsg_Message `protobuf_oneof:"Message"`
}

func (*ClientMsg) Descriptor

func (*ClientMsg) Descriptor() ([]byte, []int)

func (*ClientMsg) GetAcc

func (m *ClientMsg) GetAcc() *ClientAcc

func (*ClientMsg) GetDel

func (m *ClientMsg) GetDel() *ClientDel

func (*ClientMsg) GetGet

func (m *ClientMsg) GetGet() *ClientGet

func (*ClientMsg) GetHi

func (m *ClientMsg) GetHi() *ClientHi

func (*ClientMsg) GetLeave

func (m *ClientMsg) GetLeave() *ClientLeave

func (*ClientMsg) GetLogin

func (m *ClientMsg) GetLogin() *ClientLogin

func (*ClientMsg) GetMessage

func (m *ClientMsg) GetMessage() isClientMsg_Message

func (*ClientMsg) GetNote

func (m *ClientMsg) GetNote() *ClientNote

func (*ClientMsg) GetPub

func (m *ClientMsg) GetPub() *ClientPub

func (*ClientMsg) GetSet

func (m *ClientMsg) GetSet() *ClientSet

func (*ClientMsg) GetSub

func (m *ClientMsg) GetSub() *ClientSub

func (*ClientMsg) ProtoMessage

func (*ClientMsg) ProtoMessage()

func (*ClientMsg) Reset

func (m *ClientMsg) Reset()

func (*ClientMsg) String

func (m *ClientMsg) String() string

func (*ClientMsg) XXX_OneofFuncs

func (*ClientMsg) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type ClientMsg_Acc

type ClientMsg_Acc struct {
	Acc *ClientAcc `protobuf:"bytes,2,opt,name=acc,oneof"`
}

type ClientMsg_Del

type ClientMsg_Del struct {
	Del *ClientDel `protobuf:"bytes,9,opt,name=del,oneof"`
}

type ClientMsg_Get

type ClientMsg_Get struct {
	Get *ClientGet `protobuf:"bytes,7,opt,name=get,oneof"`
}

type ClientMsg_Hi

type ClientMsg_Hi struct {
	Hi *ClientHi `protobuf:"bytes,1,opt,name=hi,oneof"`
}

type ClientMsg_Leave

type ClientMsg_Leave struct {
	Leave *ClientLeave `protobuf:"bytes,5,opt,name=leave,oneof"`
}

type ClientMsg_Login

type ClientMsg_Login struct {
	Login *ClientLogin `protobuf:"bytes,3,opt,name=login,oneof"`
}

type ClientMsg_Note

type ClientMsg_Note struct {
	Note *ClientNote `protobuf:"bytes,10,opt,name=note,oneof"`
}

type ClientMsg_Pub

type ClientMsg_Pub struct {
	Pub *ClientPub `protobuf:"bytes,6,opt,name=pub,oneof"`
}

type ClientMsg_Set

type ClientMsg_Set struct {
	Set *ClientSet `protobuf:"bytes,8,opt,name=set,oneof"`
}

type ClientMsg_Sub

type ClientMsg_Sub struct {
	Sub *ClientSub `protobuf:"bytes,4,opt,name=sub,oneof"`
}

type ClientNote

type ClientNote struct {
	Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
	// what is being reported: "recv" - message received, "read" - message read, "kp" - typing notification
	What InfoNote `protobuf:"varint,2,opt,name=what,enum=pbx.InfoNote" json:"what,omitempty"`
	// Server-issued message ID being reported
	SeqId int32 `protobuf:"varint,3,opt,name=seq_id,json=seqId" json:"seq_id,omitempty"`
}

ClientNote is a client-generated notification for topic subscribers

func (*ClientNote) Descriptor

func (*ClientNote) Descriptor() ([]byte, []int)

func (*ClientNote) GetSeqId

func (m *ClientNote) GetSeqId() int32

func (*ClientNote) GetTopic

func (m *ClientNote) GetTopic() string

func (*ClientNote) GetWhat

func (m *ClientNote) GetWhat() InfoNote

func (*ClientNote) ProtoMessage

func (*ClientNote) ProtoMessage()

func (*ClientNote) Reset

func (m *ClientNote) Reset()

func (*ClientNote) String

func (m *ClientNote) String() string

type ClientPub

type ClientPub struct {
	Id      string            `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Topic   string            `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	NoEcho  bool              `protobuf:"varint,3,opt,name=no_echo,json=noEcho" json:"no_echo,omitempty"`
	Head    map[string]string `` /* 128-byte string literal not displayed */
	Content []byte            `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"`
}

ClientPub is client's request to publish data to topic subscribers {pub}

func (*ClientPub) Descriptor

func (*ClientPub) Descriptor() ([]byte, []int)

func (*ClientPub) GetContent

func (m *ClientPub) GetContent() []byte

func (*ClientPub) GetHead

func (m *ClientPub) GetHead() map[string]string

func (*ClientPub) GetId

func (m *ClientPub) GetId() string

func (*ClientPub) GetNoEcho

func (m *ClientPub) GetNoEcho() bool

func (*ClientPub) GetTopic

func (m *ClientPub) GetTopic() string

func (*ClientPub) ProtoMessage

func (*ClientPub) ProtoMessage()

func (*ClientPub) Reset

func (m *ClientPub) Reset()

func (*ClientPub) String

func (m *ClientPub) String() string

type ClientReq

type ClientReq struct {
	Msg  *ClientMsg `protobuf:"bytes,1,opt,name=msg" json:"msg,omitempty"`
	Sess *Session   `protobuf:"bytes,2,opt,name=sess" json:"sess,omitempty"`
}

func (*ClientReq) Descriptor

func (*ClientReq) Descriptor() ([]byte, []int)

func (*ClientReq) GetMsg

func (m *ClientReq) GetMsg() *ClientMsg

func (*ClientReq) GetSess

func (m *ClientReq) GetSess() *Session

func (*ClientReq) ProtoMessage

func (*ClientReq) ProtoMessage()

func (*ClientReq) Reset

func (m *ClientReq) Reset()

func (*ClientReq) String

func (m *ClientReq) String() string

type ClientSet

type ClientSet struct {
	Id    string    `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Topic string    `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	Query *SetQuery `protobuf:"bytes,3,opt,name=query" json:"query,omitempty"`
}

Update topic state {set}

func (*ClientSet) Descriptor

func (*ClientSet) Descriptor() ([]byte, []int)

func (*ClientSet) GetId

func (m *ClientSet) GetId() string

func (*ClientSet) GetQuery

func (m *ClientSet) GetQuery() *SetQuery

func (*ClientSet) GetTopic

func (m *ClientSet) GetTopic() string

func (*ClientSet) ProtoMessage

func (*ClientSet) ProtoMessage()

func (*ClientSet) Reset

func (m *ClientSet) Reset()

func (*ClientSet) String

func (m *ClientSet) String() string

type ClientSub

type ClientSub struct {
	Id    string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Topic string `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	// mirrors {set}
	SetQuery *SetQuery `protobuf:"bytes,3,opt,name=set_query,json=setQuery" json:"set_query,omitempty"`
	// mirrors {get}
	GetQuery *GetQuery `protobuf:"bytes,4,opt,name=get_query,json=getQuery" json:"get_query,omitempty"`
}

Subscription request {sub} message

func (*ClientSub) Descriptor

func (*ClientSub) Descriptor() ([]byte, []int)

func (*ClientSub) GetGetQuery

func (m *ClientSub) GetGetQuery() *GetQuery

func (*ClientSub) GetId

func (m *ClientSub) GetId() string

func (*ClientSub) GetSetQuery

func (m *ClientSub) GetSetQuery() *SetQuery

func (*ClientSub) GetTopic

func (m *ClientSub) GetTopic() string

func (*ClientSub) ProtoMessage

func (*ClientSub) ProtoMessage()

func (*ClientSub) Reset

func (m *ClientSub) Reset()

func (*ClientSub) String

func (m *ClientSub) String() string

type Credential

type Credential struct {
	// Credential type, i.e. `email` or `tel`.
	Method string `protobuf:"bytes,1,opt,name=method" json:"method,omitempty"`
	// Value to verify, i.e. `user@example.com` or `+18003287448`
	Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
	// Verification response
	Response string `protobuf:"bytes,3,opt,name=response" json:"response,omitempty"`
	// Request parameters, such as preferences.
	Params []byte `protobuf:"bytes,4,opt,name=params,proto3" json:"params,omitempty"`
}

func (*Credential) Descriptor

func (*Credential) Descriptor() ([]byte, []int)

func (*Credential) GetMethod

func (m *Credential) GetMethod() string

func (*Credential) GetParams

func (m *Credential) GetParams() []byte

func (*Credential) GetResponse

func (m *Credential) GetResponse() string

func (*Credential) GetValue

func (m *Credential) GetValue() string

func (*Credential) ProtoMessage

func (*Credential) ProtoMessage()

func (*Credential) Reset

func (m *Credential) Reset()

func (*Credential) String

func (m *Credential) String() string

type Crud

type Crud int32
const (
	Crud_CREATE Crud = 0
	Crud_UPDATE Crud = 1
	Crud_DELETE Crud = 2
)

func (Crud) EnumDescriptor

func (Crud) EnumDescriptor() ([]byte, []int)

func (Crud) String

func (x Crud) String() string

type DefaultAcsMode

type DefaultAcsMode struct {
	Auth string `protobuf:"bytes,1,opt,name=auth" json:"auth,omitempty"`
	Anon string `protobuf:"bytes,2,opt,name=anon" json:"anon,omitempty"`
}

Topic default access mode

func (*DefaultAcsMode) Descriptor

func (*DefaultAcsMode) Descriptor() ([]byte, []int)

func (*DefaultAcsMode) GetAnon

func (m *DefaultAcsMode) GetAnon() string

func (*DefaultAcsMode) GetAuth

func (m *DefaultAcsMode) GetAuth() string

func (*DefaultAcsMode) ProtoMessage

func (*DefaultAcsMode) ProtoMessage()

func (*DefaultAcsMode) Reset

func (m *DefaultAcsMode) Reset()

func (*DefaultAcsMode) String

func (m *DefaultAcsMode) String() string

type DelValues

type DelValues struct {
	DelId  int32       `protobuf:"varint,1,opt,name=del_id,json=delId" json:"del_id,omitempty"`
	DelSeq []*SeqRange `protobuf:"bytes,2,rep,name=del_seq,json=delSeq" json:"del_seq,omitempty"`
}

func (*DelValues) Descriptor

func (*DelValues) Descriptor() ([]byte, []int)

func (*DelValues) GetDelId

func (m *DelValues) GetDelId() int32

func (*DelValues) GetDelSeq

func (m *DelValues) GetDelSeq() []*SeqRange

func (*DelValues) ProtoMessage

func (*DelValues) ProtoMessage()

func (*DelValues) Reset

func (m *DelValues) Reset()

func (*DelValues) String

func (m *DelValues) String() string

type GetOpts

type GetOpts struct {
	IfModifiedSince int64 `protobuf:"varint,1,opt,name=if_modified_since,json=ifModifiedSince" json:"if_modified_since,omitempty"`
	Limit           int32 `protobuf:"varint,2,opt,name=limit" json:"limit,omitempty"`
}

func (*GetOpts) Descriptor

func (*GetOpts) Descriptor() ([]byte, []int)

func (*GetOpts) GetIfModifiedSince

func (m *GetOpts) GetIfModifiedSince() int64

func (*GetOpts) GetLimit

func (m *GetOpts) GetLimit() int32

func (*GetOpts) ProtoMessage

func (*GetOpts) ProtoMessage()

func (*GetOpts) Reset

func (m *GetOpts) Reset()

func (*GetOpts) String

func (m *GetOpts) String() string

type GetQuery

type GetQuery struct {
	What string `protobuf:"bytes,1,opt,name=what" json:"what,omitempty"`
	// Parameters of "desc" request
	Desc *GetOpts `protobuf:"bytes,2,opt,name=desc" json:"desc,omitempty"`
	// Parameters of "sub" request
	Sub *GetOpts `protobuf:"bytes,3,opt,name=sub" json:"sub,omitempty"`
	// Parameters of "data" request
	Data *BrowseOpts `protobuf:"bytes,4,opt,name=data" json:"data,omitempty"`
}

func (*GetQuery) Descriptor

func (*GetQuery) Descriptor() ([]byte, []int)

func (*GetQuery) GetData

func (m *GetQuery) GetData() *BrowseOpts

func (*GetQuery) GetDesc

func (m *GetQuery) GetDesc() *GetOpts

func (*GetQuery) GetSub

func (m *GetQuery) GetSub() *GetOpts

func (*GetQuery) GetWhat

func (m *GetQuery) GetWhat() string

func (*GetQuery) ProtoMessage

func (*GetQuery) ProtoMessage()

func (*GetQuery) Reset

func (m *GetQuery) Reset()

func (*GetQuery) String

func (m *GetQuery) String() string

type InfoNote

type InfoNote int32
const (
	InfoNote_READ InfoNote = 0
	InfoNote_RECV InfoNote = 1
	InfoNote_KP   InfoNote = 2
)

func (InfoNote) EnumDescriptor

func (InfoNote) EnumDescriptor() ([]byte, []int)

func (InfoNote) String

func (x InfoNote) String() string

type MessageEvent

type MessageEvent struct {
	Action Crud        `protobuf:"varint,1,opt,name=action,enum=pbx.Crud" json:"action,omitempty"`
	Msg    *ServerData `protobuf:"bytes,2,opt,name=msg" json:"msg,omitempty"`
}

func (*MessageEvent) Descriptor

func (*MessageEvent) Descriptor() ([]byte, []int)

func (*MessageEvent) GetAction

func (m *MessageEvent) GetAction() Crud

func (*MessageEvent) GetMsg

func (m *MessageEvent) GetMsg() *ServerData

func (*MessageEvent) ProtoMessage

func (*MessageEvent) ProtoMessage()

func (*MessageEvent) Reset

func (m *MessageEvent) Reset()

func (*MessageEvent) String

func (m *MessageEvent) String() string

type NodeClient

type NodeClient interface {
	// Client sends a stream of ClientMsg, server responds with a stream of ServerMsg
	MessageLoop(ctx context.Context, opts ...grpc.CallOption) (Node_MessageLoopClient, error)
}

func NewNodeClient

func NewNodeClient(cc *grpc.ClientConn) NodeClient

type NodeServer

type NodeServer interface {
	// Client sends a stream of ClientMsg, server responds with a stream of ServerMsg
	MessageLoop(Node_MessageLoopServer) error
}

type Node_MessageLoopClient

type Node_MessageLoopClient interface {
	Send(*ClientMsg) error
	Recv() (*ServerMsg, error)
	grpc.ClientStream
}

type Node_MessageLoopServer

type Node_MessageLoopServer interface {
	Send(*ServerMsg) error
	Recv() (*ClientMsg, error)
	grpc.ServerStream
}

type PluginClient

type PluginClient interface {
	// This plugin method is called by Tinode server for every message received from the clients. The
	// method returns a ServerCtrl message. Non-zero ServerCtrl.code indicates that no further
	// processing is needed. The Tinode server will generate a {ctrl} message from the returned ServerCtrl
	// and forward it to the client session.
	// ServerCtrl.code equals to 0 instructs the server to continue with default processing of the client message.
	FireHose(ctx context.Context, in *ClientReq, opts ...grpc.CallOption) (*ServerResp, error)
	// An alteranative user and topic discovery mechanism.
	// A search request issued on a 'fnd' topic. This method is called to generate an alternative result set.
	Find(ctx context.Context, in *SearchQuery, opts ...grpc.CallOption) (*SearchFound, error)
	// Account created, updated or deleted
	Account(ctx context.Context, in *AccountEvent, opts ...grpc.CallOption) (*Unused, error)
	// Topic created, updated [or deleted -- not supported yet]
	Topic(ctx context.Context, in *TopicEvent, opts ...grpc.CallOption) (*Unused, error)
	// Subscription created, updated or deleted
	Subscription(ctx context.Context, in *SubscriptionEvent, opts ...grpc.CallOption) (*Unused, error)
	// Message published or deleted
	Message(ctx context.Context, in *MessageEvent, opts ...grpc.CallOption) (*Unused, error)
}

func NewPluginClient

func NewPluginClient(cc *grpc.ClientConn) PluginClient

type PluginServer

type PluginServer interface {
	// This plugin method is called by Tinode server for every message received from the clients. The
	// method returns a ServerCtrl message. Non-zero ServerCtrl.code indicates that no further
	// processing is needed. The Tinode server will generate a {ctrl} message from the returned ServerCtrl
	// and forward it to the client session.
	// ServerCtrl.code equals to 0 instructs the server to continue with default processing of the client message.
	FireHose(context.Context, *ClientReq) (*ServerResp, error)
	// An alteranative user and topic discovery mechanism.
	// A search request issued on a 'fnd' topic. This method is called to generate an alternative result set.
	Find(context.Context, *SearchQuery) (*SearchFound, error)
	// Account created, updated or deleted
	Account(context.Context, *AccountEvent) (*Unused, error)
	// Topic created, updated [or deleted -- not supported yet]
	Topic(context.Context, *TopicEvent) (*Unused, error)
	// Subscription created, updated or deleted
	Subscription(context.Context, *SubscriptionEvent) (*Unused, error)
	// Message published or deleted
	Message(context.Context, *MessageEvent) (*Unused, error)
}

type RespCode

type RespCode int32

Plugin response codes

const (
	// Instruct Tinode server to continue with default processing of the client request.
	RespCode_CONTINUE RespCode = 0
	// Drop the request as if the client did not send it
	RespCode_DROP RespCode = 1
	// Send the the provided response to the client.
	RespCode_RESPOND RespCode = 2
	// Replace client's original request with the provided request then continue with
	// processing.
	RespCode_REPLACE RespCode = 3
)

func (RespCode) EnumDescriptor

func (RespCode) EnumDescriptor() ([]byte, []int)

func (RespCode) String

func (x RespCode) String() string

type SearchFound

type SearchFound struct {
	Status RespCode `protobuf:"varint,1,opt,name=status,enum=pbx.RespCode" json:"status,omitempty"`
	// New search terms If status == REPLACE, otherwise unset.
	Terms []string `protobuf:"bytes,2,rep,name=terms" json:"terms,omitempty"`
	// Search results.
	Result []*TopicSub `protobuf:"bytes,3,rep,name=result" json:"result,omitempty"`
}

func (*SearchFound) Descriptor

func (*SearchFound) Descriptor() ([]byte, []int)

func (*SearchFound) GetResult

func (m *SearchFound) GetResult() []*TopicSub

func (*SearchFound) GetStatus

func (m *SearchFound) GetStatus() RespCode

func (*SearchFound) GetTerms

func (m *SearchFound) GetTerms() []string

func (*SearchFound) ProtoMessage

func (*SearchFound) ProtoMessage()

func (*SearchFound) Reset

func (m *SearchFound) Reset()

func (*SearchFound) String

func (m *SearchFound) String() string

type SearchQuery

type SearchQuery struct {
	UserId string   `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"`
	Terms  []string `protobuf:"bytes,2,rep,name=terms" json:"terms,omitempty"`
}

func (*SearchQuery) Descriptor

func (*SearchQuery) Descriptor() ([]byte, []int)

func (*SearchQuery) GetTerms

func (m *SearchQuery) GetTerms() []string

func (*SearchQuery) GetUserId

func (m *SearchQuery) GetUserId() string

func (*SearchQuery) ProtoMessage

func (*SearchQuery) ProtoMessage()

func (*SearchQuery) Reset

func (m *SearchQuery) Reset()

func (*SearchQuery) String

func (m *SearchQuery) String() string

type SeqRange

type SeqRange struct {
	Low int32 `protobuf:"varint,1,opt,name=low" json:"low,omitempty"`
	Hi  int32 `protobuf:"varint,2,opt,name=hi" json:"hi,omitempty"`
}

func (*SeqRange) Descriptor

func (*SeqRange) Descriptor() ([]byte, []int)

func (*SeqRange) GetHi

func (m *SeqRange) GetHi() int32

func (*SeqRange) GetLow

func (m *SeqRange) GetLow() int32

func (*SeqRange) ProtoMessage

func (*SeqRange) ProtoMessage()

func (*SeqRange) Reset

func (m *SeqRange) Reset()

func (*SeqRange) String

func (m *SeqRange) String() string

type ServerCtrl

type ServerCtrl struct {
	Id     string            `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Topic  string            `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	Code   int32             `protobuf:"varint,3,opt,name=code" json:"code,omitempty"`
	Text   string            `protobuf:"bytes,4,opt,name=text" json:"text,omitempty"`
	Params map[string][]byte `` /* 139-byte string literal not displayed */
}

{ctrl} message

func (*ServerCtrl) Descriptor

func (*ServerCtrl) Descriptor() ([]byte, []int)

func (*ServerCtrl) GetCode

func (m *ServerCtrl) GetCode() int32

func (*ServerCtrl) GetId

func (m *ServerCtrl) GetId() string

func (*ServerCtrl) GetParams

func (m *ServerCtrl) GetParams() map[string][]byte

func (*ServerCtrl) GetText

func (m *ServerCtrl) GetText() string

func (*ServerCtrl) GetTopic

func (m *ServerCtrl) GetTopic() string

func (*ServerCtrl) ProtoMessage

func (*ServerCtrl) ProtoMessage()

func (*ServerCtrl) Reset

func (m *ServerCtrl) Reset()

func (*ServerCtrl) String

func (m *ServerCtrl) String() string

type ServerData

type ServerData struct {
	Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
	// ID of the user who originated the message as {pub}, could be empty if sent by the system
	FromUserId string `protobuf:"bytes,2,opt,name=from_user_id,json=fromUserId" json:"from_user_id,omitempty"`
	// Timestamp when the message was deleted or 0. Milliseconds since the epoch 01/01/1970
	DeletedAt int64             `protobuf:"varint,3,opt,name=deleted_at,json=deletedAt" json:"deleted_at,omitempty"`
	SeqId     int32             `protobuf:"varint,4,opt,name=seq_id,json=seqId" json:"seq_id,omitempty"`
	Head      map[string]string `` /* 128-byte string literal not displayed */
	Content   []byte            `protobuf:"bytes,6,opt,name=content,proto3" json:"content,omitempty"`
}

{data} message

func (*ServerData) Descriptor

func (*ServerData) Descriptor() ([]byte, []int)

func (*ServerData) GetContent

func (m *ServerData) GetContent() []byte

func (*ServerData) GetDeletedAt

func (m *ServerData) GetDeletedAt() int64

func (*ServerData) GetFromUserId

func (m *ServerData) GetFromUserId() string

func (*ServerData) GetHead

func (m *ServerData) GetHead() map[string]string

func (*ServerData) GetSeqId

func (m *ServerData) GetSeqId() int32

func (*ServerData) GetTopic

func (m *ServerData) GetTopic() string

func (*ServerData) ProtoMessage

func (*ServerData) ProtoMessage()

func (*ServerData) Reset

func (m *ServerData) Reset()

func (*ServerData) String

func (m *ServerData) String() string

type ServerInfo

type ServerInfo struct {
	Topic      string   `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
	FromUserId string   `protobuf:"bytes,2,opt,name=from_user_id,json=fromUserId" json:"from_user_id,omitempty"`
	What       InfoNote `protobuf:"varint,3,opt,name=what,enum=pbx.InfoNote" json:"what,omitempty"`
	SeqId      int32    `protobuf:"varint,4,opt,name=seq_id,json=seqId" json:"seq_id,omitempty"`
}

{info} message: server-side copy of ClientNote with From added

func (*ServerInfo) Descriptor

func (*ServerInfo) Descriptor() ([]byte, []int)

func (*ServerInfo) GetFromUserId

func (m *ServerInfo) GetFromUserId() string

func (*ServerInfo) GetSeqId

func (m *ServerInfo) GetSeqId() int32

func (*ServerInfo) GetTopic

func (m *ServerInfo) GetTopic() string

func (*ServerInfo) GetWhat

func (m *ServerInfo) GetWhat() InfoNote

func (*ServerInfo) ProtoMessage

func (*ServerInfo) ProtoMessage()

func (*ServerInfo) Reset

func (m *ServerInfo) Reset()

func (*ServerInfo) String

func (m *ServerInfo) String() string

type ServerMeta

type ServerMeta struct {
	Id    string      `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Topic string      `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	Desc  *TopicDesc  `protobuf:"bytes,3,opt,name=desc" json:"desc,omitempty"`
	Sub   []*TopicSub `protobuf:"bytes,4,rep,name=sub" json:"sub,omitempty"`
	Del   *DelValues  `protobuf:"bytes,5,opt,name=del" json:"del,omitempty"`
}

{meta} message

func (*ServerMeta) Descriptor

func (*ServerMeta) Descriptor() ([]byte, []int)

func (*ServerMeta) GetDel

func (m *ServerMeta) GetDel() *DelValues

func (*ServerMeta) GetDesc

func (m *ServerMeta) GetDesc() *TopicDesc

func (*ServerMeta) GetId

func (m *ServerMeta) GetId() string

func (*ServerMeta) GetSub

func (m *ServerMeta) GetSub() []*TopicSub

func (*ServerMeta) GetTopic

func (m *ServerMeta) GetTopic() string

func (*ServerMeta) ProtoMessage

func (*ServerMeta) ProtoMessage()

func (*ServerMeta) Reset

func (m *ServerMeta) Reset()

func (*ServerMeta) String

func (m *ServerMeta) String() string

type ServerMsg

type ServerMsg struct {
	// Types that are valid to be assigned to Message:
	//	*ServerMsg_Ctrl
	//	*ServerMsg_Data
	//	*ServerMsg_Pres
	//	*ServerMsg_Meta
	//	*ServerMsg_Info
	Message isServerMsg_Message `protobuf_oneof:"Message"`
}

Cumulative message

func (*ServerMsg) Descriptor

func (*ServerMsg) Descriptor() ([]byte, []int)

func (*ServerMsg) GetCtrl

func (m *ServerMsg) GetCtrl() *ServerCtrl

func (*ServerMsg) GetData

func (m *ServerMsg) GetData() *ServerData

func (*ServerMsg) GetInfo

func (m *ServerMsg) GetInfo() *ServerInfo

func (*ServerMsg) GetMessage

func (m *ServerMsg) GetMessage() isServerMsg_Message

func (*ServerMsg) GetMeta

func (m *ServerMsg) GetMeta() *ServerMeta

func (*ServerMsg) GetPres

func (m *ServerMsg) GetPres() *ServerPres

func (*ServerMsg) ProtoMessage

func (*ServerMsg) ProtoMessage()

func (*ServerMsg) Reset

func (m *ServerMsg) Reset()

func (*ServerMsg) String

func (m *ServerMsg) String() string

func (*ServerMsg) XXX_OneofFuncs

func (*ServerMsg) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type ServerMsg_Ctrl

type ServerMsg_Ctrl struct {
	Ctrl *ServerCtrl `protobuf:"bytes,1,opt,name=ctrl,oneof"`
}

type ServerMsg_Data

type ServerMsg_Data struct {
	Data *ServerData `protobuf:"bytes,2,opt,name=data,oneof"`
}

type ServerMsg_Info

type ServerMsg_Info struct {
	Info *ServerInfo `protobuf:"bytes,5,opt,name=info,oneof"`
}

type ServerMsg_Meta

type ServerMsg_Meta struct {
	Meta *ServerMeta `protobuf:"bytes,4,opt,name=meta,oneof"`
}

type ServerMsg_Pres

type ServerMsg_Pres struct {
	Pres *ServerPres `protobuf:"bytes,3,opt,name=pres,oneof"`
}

type ServerPres

type ServerPres struct {
	Topic        string          `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
	Src          string          `protobuf:"bytes,2,opt,name=src" json:"src,omitempty"`
	What         ServerPres_What `protobuf:"varint,3,opt,name=what,enum=pbx.ServerPres_What" json:"what,omitempty"`
	UserAgent    string          `protobuf:"bytes,4,opt,name=user_agent,json=userAgent" json:"user_agent,omitempty"`
	SeqId        int32           `protobuf:"varint,5,opt,name=seq_id,json=seqId" json:"seq_id,omitempty"`
	DelId        int32           `protobuf:"varint,6,opt,name=del_id,json=delId" json:"del_id,omitempty"`
	DelSeq       []*SeqRange     `protobuf:"bytes,7,rep,name=del_seq,json=delSeq" json:"del_seq,omitempty"`
	TargetUserId string          `protobuf:"bytes,8,opt,name=target_user_id,json=targetUserId" json:"target_user_id,omitempty"`
	ActorUserId  string          `protobuf:"bytes,9,opt,name=actor_user_id,json=actorUserId" json:"actor_user_id,omitempty"`
	Acs          *AccessMode     `protobuf:"bytes,10,opt,name=acs" json:"acs,omitempty"`
}

{pres} message

func (*ServerPres) Descriptor

func (*ServerPres) Descriptor() ([]byte, []int)

func (*ServerPres) GetAcs

func (m *ServerPres) GetAcs() *AccessMode

func (*ServerPres) GetActorUserId

func (m *ServerPres) GetActorUserId() string

func (*ServerPres) GetDelId

func (m *ServerPres) GetDelId() int32

func (*ServerPres) GetDelSeq

func (m *ServerPres) GetDelSeq() []*SeqRange

func (*ServerPres) GetSeqId

func (m *ServerPres) GetSeqId() int32

func (*ServerPres) GetSrc

func (m *ServerPres) GetSrc() string

func (*ServerPres) GetTargetUserId

func (m *ServerPres) GetTargetUserId() string

func (*ServerPres) GetTopic

func (m *ServerPres) GetTopic() string

func (*ServerPres) GetUserAgent

func (m *ServerPres) GetUserAgent() string

func (*ServerPres) GetWhat

func (m *ServerPres) GetWhat() ServerPres_What

func (*ServerPres) ProtoMessage

func (*ServerPres) ProtoMessage()

func (*ServerPres) Reset

func (m *ServerPres) Reset()

func (*ServerPres) String

func (m *ServerPres) String() string

type ServerPres_What

type ServerPres_What int32
const (
	ServerPres_ON   ServerPres_What = 0
	ServerPres_OFF  ServerPres_What = 1
	ServerPres_UA   ServerPres_What = 3
	ServerPres_UPD  ServerPres_What = 4
	ServerPres_GONE ServerPres_What = 5
	ServerPres_ACS  ServerPres_What = 6
	ServerPres_TERM ServerPres_What = 7
	ServerPres_MSG  ServerPres_What = 8
	ServerPres_READ ServerPres_What = 9
	ServerPres_RECV ServerPres_What = 10
	ServerPres_DEL  ServerPres_What = 11
)

func (ServerPres_What) EnumDescriptor

func (ServerPres_What) EnumDescriptor() ([]byte, []int)

func (ServerPres_What) String

func (x ServerPres_What) String() string

type ServerResp

type ServerResp struct {
	Status RespCode   `protobuf:"varint,1,opt,name=status,enum=pbx.RespCode" json:"status,omitempty"`
	Srvmsg *ServerMsg `protobuf:"bytes,2,opt,name=srvmsg" json:"srvmsg,omitempty"`
	Clmsg  *ClientMsg `protobuf:"bytes,3,opt,name=clmsg" json:"clmsg,omitempty"`
}

func (*ServerResp) Descriptor

func (*ServerResp) Descriptor() ([]byte, []int)

func (*ServerResp) GetClmsg

func (m *ServerResp) GetClmsg() *ClientMsg

func (*ServerResp) GetSrvmsg

func (m *ServerResp) GetSrvmsg() *ServerMsg

func (*ServerResp) GetStatus

func (m *ServerResp) GetStatus() RespCode

func (*ServerResp) ProtoMessage

func (*ServerResp) ProtoMessage()

func (*ServerResp) Reset

func (m *ServerResp) Reset()

func (*ServerResp) String

func (m *ServerResp) String() string

type Session

type Session struct {
	SessionId  string            `protobuf:"bytes,1,opt,name=session_id,json=sessionId" json:"session_id,omitempty"`
	UserId     string            `protobuf:"bytes,2,opt,name=user_id,json=userId" json:"user_id,omitempty"`
	AuthLevel  Session_AuthLevel `protobuf:"varint,3,opt,name=auth_level,json=authLevel,enum=pbx.Session_AuthLevel" json:"auth_level,omitempty"`
	RemoteAddr string            `protobuf:"bytes,4,opt,name=remote_addr,json=remoteAddr" json:"remote_addr,omitempty"`
	UserAgent  string            `protobuf:"bytes,5,opt,name=user_agent,json=userAgent" json:"user_agent,omitempty"`
	DeviceId   string            `protobuf:"bytes,6,opt,name=device_id,json=deviceId" json:"device_id,omitempty"`
	Language   string            `protobuf:"bytes,7,opt,name=language" json:"language,omitempty"`
}

Context message

func (*Session) Descriptor

func (*Session) Descriptor() ([]byte, []int)

func (*Session) GetAuthLevel

func (m *Session) GetAuthLevel() Session_AuthLevel

func (*Session) GetDeviceId

func (m *Session) GetDeviceId() string

func (*Session) GetLanguage

func (m *Session) GetLanguage() string

func (*Session) GetRemoteAddr

func (m *Session) GetRemoteAddr() string

func (*Session) GetSessionId

func (m *Session) GetSessionId() string

func (*Session) GetUserAgent

func (m *Session) GetUserAgent() string

func (*Session) GetUserId

func (m *Session) GetUserId() string

func (*Session) ProtoMessage

func (*Session) ProtoMessage()

func (*Session) Reset

func (m *Session) Reset()

func (*Session) String

func (m *Session) String() string

type Session_AuthLevel

type Session_AuthLevel int32
const (
	Session_NONE Session_AuthLevel = 0
	Session_ANON Session_AuthLevel = 10
	Session_AUTH Session_AuthLevel = 20
	Session_ROOT Session_AuthLevel = 30
)

func (Session_AuthLevel) EnumDescriptor

func (Session_AuthLevel) EnumDescriptor() ([]byte, []int)

func (Session_AuthLevel) String

func (x Session_AuthLevel) String() string

type SetDesc

type SetDesc struct {
	DefaultAcs *DefaultAcsMode `protobuf:"bytes,1,opt,name=default_acs,json=defaultAcs" json:"default_acs,omitempty"`
	Public     []byte          `protobuf:"bytes,2,opt,name=public,proto3" json:"public,omitempty"`
	Private    []byte          `protobuf:"bytes,3,opt,name=private,proto3" json:"private,omitempty"`
}

SetDesc: C2S in set.what == "desc" and sub.init message

func (*SetDesc) Descriptor

func (*SetDesc) Descriptor() ([]byte, []int)

func (*SetDesc) GetDefaultAcs

func (m *SetDesc) GetDefaultAcs() *DefaultAcsMode

func (*SetDesc) GetPrivate

func (m *SetDesc) GetPrivate() []byte

func (*SetDesc) GetPublic

func (m *SetDesc) GetPublic() []byte

func (*SetDesc) ProtoMessage

func (*SetDesc) ProtoMessage()

func (*SetDesc) Reset

func (m *SetDesc) Reset()

func (*SetDesc) String

func (m *SetDesc) String() string

type SetQuery

type SetQuery struct {
	// Topic metadata, new topic & new subscriptions only
	Desc *SetDesc `protobuf:"bytes,1,opt,name=desc" json:"desc,omitempty"`
	// Subscription parameters
	Sub *SetSub `protobuf:"bytes,2,opt,name=sub" json:"sub,omitempty"`
}

func (*SetQuery) Descriptor

func (*SetQuery) Descriptor() ([]byte, []int)

func (*SetQuery) GetDesc

func (m *SetQuery) GetDesc() *SetDesc

func (*SetQuery) GetSub

func (m *SetQuery) GetSub() *SetSub

func (*SetQuery) ProtoMessage

func (*SetQuery) ProtoMessage()

func (*SetQuery) Reset

func (m *SetQuery) Reset()

func (*SetQuery) String

func (m *SetQuery) String() string

type SetSub

type SetSub struct {
	// User affected by this request. Default (empty): current user
	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId" json:"user_id,omitempty"`
	// Access mode change, either Given or Want depending on context
	Mode string `protobuf:"bytes,2,opt,name=mode" json:"mode,omitempty"`
}

SetSub: payload in set.sub request to update current subscription or invite another user, {sub.what} == "sub"

func (*SetSub) Descriptor

func (*SetSub) Descriptor() ([]byte, []int)

func (*SetSub) GetMode

func (m *SetSub) GetMode() string

func (*SetSub) GetUserId

func (m *SetSub) GetUserId() string

func (*SetSub) ProtoMessage

func (*SetSub) ProtoMessage()

func (*SetSub) Reset

func (m *SetSub) Reset()

func (*SetSub) String

func (m *SetSub) String() string

type SubscriptionEvent

type SubscriptionEvent struct {
	Action  Crud        `protobuf:"varint,1,opt,name=action,enum=pbx.Crud" json:"action,omitempty"`
	Topic   string      `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
	UserId  string      `protobuf:"bytes,3,opt,name=user_id,json=userId" json:"user_id,omitempty"`
	DelId   int32       `protobuf:"varint,4,opt,name=del_id,json=delId" json:"del_id,omitempty"`
	ReadId  int32       `protobuf:"varint,5,opt,name=read_id,json=readId" json:"read_id,omitempty"`
	RecvId  int32       `protobuf:"varint,6,opt,name=recv_id,json=recvId" json:"recv_id,omitempty"`
	Mode    *AccessMode `protobuf:"bytes,7,opt,name=mode" json:"mode,omitempty"`
	Private []byte      `protobuf:"bytes,8,opt,name=private,proto3" json:"private,omitempty"`
}

func (*SubscriptionEvent) Descriptor

func (*SubscriptionEvent) Descriptor() ([]byte, []int)

func (*SubscriptionEvent) GetAction

func (m *SubscriptionEvent) GetAction() Crud

func (*SubscriptionEvent) GetDelId

func (m *SubscriptionEvent) GetDelId() int32

func (*SubscriptionEvent) GetMode

func (m *SubscriptionEvent) GetMode() *AccessMode

func (*SubscriptionEvent) GetPrivate

func (m *SubscriptionEvent) GetPrivate() []byte

func (*SubscriptionEvent) GetReadId

func (m *SubscriptionEvent) GetReadId() int32

func (*SubscriptionEvent) GetRecvId

func (m *SubscriptionEvent) GetRecvId() int32

func (*SubscriptionEvent) GetTopic

func (m *SubscriptionEvent) GetTopic() string

func (*SubscriptionEvent) GetUserId

func (m *SubscriptionEvent) GetUserId() string

func (*SubscriptionEvent) ProtoMessage

func (*SubscriptionEvent) ProtoMessage()

func (*SubscriptionEvent) Reset

func (m *SubscriptionEvent) Reset()

func (*SubscriptionEvent) String

func (m *SubscriptionEvent) String() string

type TopicDesc

type TopicDesc struct {
	CreatedAt int64           `protobuf:"varint,1,opt,name=created_at,json=createdAt" json:"created_at,omitempty"`
	UpdatedAt int64           `protobuf:"varint,2,opt,name=updated_at,json=updatedAt" json:"updated_at,omitempty"`
	TouchedAt int64           `protobuf:"varint,3,opt,name=touched_at,json=touchedAt" json:"touched_at,omitempty"`
	Defacs    *DefaultAcsMode `protobuf:"bytes,4,opt,name=defacs" json:"defacs,omitempty"`
	Acs       *AccessMode     `protobuf:"bytes,5,opt,name=acs" json:"acs,omitempty"`
	SeqId     int32           `protobuf:"varint,6,opt,name=seq_id,json=seqId" json:"seq_id,omitempty"`
	ReadId    int32           `protobuf:"varint,7,opt,name=read_id,json=readId" json:"read_id,omitempty"`
	RecvId    int32           `protobuf:"varint,8,opt,name=recv_id,json=recvId" json:"recv_id,omitempty"`
	DelId     int32           `protobuf:"varint,9,opt,name=del_id,json=delId" json:"del_id,omitempty"`
	Public    []byte          `protobuf:"bytes,10,opt,name=public,proto3" json:"public,omitempty"`
	Private   []byte          `protobuf:"bytes,11,opt,name=private,proto3" json:"private,omitempty"`
}

Topic description, S2C in Meta message

func (*TopicDesc) Descriptor

func (*TopicDesc) Descriptor() ([]byte, []int)

func (*TopicDesc) GetAcs

func (m *TopicDesc) GetAcs() *AccessMode

func (*TopicDesc) GetCreatedAt

func (m *TopicDesc) GetCreatedAt() int64

func (*TopicDesc) GetDefacs

func (m *TopicDesc) GetDefacs() *DefaultAcsMode

func (*TopicDesc) GetDelId

func (m *TopicDesc) GetDelId() int32

func (*TopicDesc) GetPrivate

func (m *TopicDesc) GetPrivate() []byte

func (*TopicDesc) GetPublic

func (m *TopicDesc) GetPublic() []byte

func (*TopicDesc) GetReadId

func (m *TopicDesc) GetReadId() int32

func (*TopicDesc) GetRecvId

func (m *TopicDesc) GetRecvId() int32

func (*TopicDesc) GetSeqId

func (m *TopicDesc) GetSeqId() int32

func (*TopicDesc) GetTouchedAt

func (m *TopicDesc) GetTouchedAt() int64

func (*TopicDesc) GetUpdatedAt

func (m *TopicDesc) GetUpdatedAt() int64

func (*TopicDesc) ProtoMessage

func (*TopicDesc) ProtoMessage()

func (*TopicDesc) Reset

func (m *TopicDesc) Reset()

func (*TopicDesc) String

func (m *TopicDesc) String() string

type TopicEvent

type TopicEvent struct {
	Action Crud       `protobuf:"varint,1,opt,name=action,enum=pbx.Crud" json:"action,omitempty"`
	Name   string     `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	Desc   *TopicDesc `protobuf:"bytes,3,opt,name=desc" json:"desc,omitempty"`
}

func (*TopicEvent) Descriptor

func (*TopicEvent) Descriptor() ([]byte, []int)

func (*TopicEvent) GetAction

func (m *TopicEvent) GetAction() Crud

func (*TopicEvent) GetDesc

func (m *TopicEvent) GetDesc() *TopicDesc

func (*TopicEvent) GetName

func (m *TopicEvent) GetName() string

func (*TopicEvent) ProtoMessage

func (*TopicEvent) ProtoMessage()

func (*TopicEvent) Reset

func (m *TopicEvent) Reset()

func (*TopicEvent) String

func (m *TopicEvent) String() string

type TopicSub

type TopicSub struct {
	UpdatedAt int64       `protobuf:"varint,1,opt,name=updated_at,json=updatedAt" json:"updated_at,omitempty"`
	DeletedAt int64       `protobuf:"varint,2,opt,name=deleted_at,json=deletedAt" json:"deleted_at,omitempty"`
	Online    bool        `protobuf:"varint,3,opt,name=online" json:"online,omitempty"`
	Acs       *AccessMode `protobuf:"bytes,4,opt,name=acs" json:"acs,omitempty"`
	ReadId    int32       `protobuf:"varint,5,opt,name=read_id,json=readId" json:"read_id,omitempty"`
	RecvId    int32       `protobuf:"varint,6,opt,name=recv_id,json=recvId" json:"recv_id,omitempty"`
	Public    []byte      `protobuf:"bytes,7,opt,name=public,proto3" json:"public,omitempty"`
	Private   []byte      `protobuf:"bytes,8,opt,name=private,proto3" json:"private,omitempty"`
	// Uid of the subscribed user
	UserId string `protobuf:"bytes,9,opt,name=user_id,json=userId" json:"user_id,omitempty"`
	// Topic name of this subscription
	Topic     string `protobuf:"bytes,10,opt,name=topic" json:"topic,omitempty"`
	TouchedAt int64  `protobuf:"varint,11,opt,name=touched_at,json=touchedAt" json:"touched_at,omitempty"`
	// ID of the last {data} message in a topic
	SeqId int32 `protobuf:"varint,12,opt,name=seq_id,json=seqId" json:"seq_id,omitempty"`
	// Messages are deleted up to this ID
	DelId int32 `protobuf:"varint,13,opt,name=del_id,json=delId" json:"del_id,omitempty"`
	// Other user's last online timestamp & user agent
	LastSeenTime      int64  `protobuf:"varint,14,opt,name=last_seen_time,json=lastSeenTime" json:"last_seen_time,omitempty"`
	LastSeenUserAgent string `protobuf:"bytes,15,opt,name=last_seen_user_agent,json=lastSeenUserAgent" json:"last_seen_user_agent,omitempty"`
}

MsgTopicSub: topic subscription details, sent in Meta message

func (*TopicSub) Descriptor

func (*TopicSub) Descriptor() ([]byte, []int)

func (*TopicSub) GetAcs

func (m *TopicSub) GetAcs() *AccessMode

func (*TopicSub) GetDelId

func (m *TopicSub) GetDelId() int32

func (*TopicSub) GetDeletedAt

func (m *TopicSub) GetDeletedAt() int64

func (*TopicSub) GetLastSeenTime

func (m *TopicSub) GetLastSeenTime() int64

func (*TopicSub) GetLastSeenUserAgent

func (m *TopicSub) GetLastSeenUserAgent() string

func (*TopicSub) GetOnline

func (m *TopicSub) GetOnline() bool

func (*TopicSub) GetPrivate

func (m *TopicSub) GetPrivate() []byte

func (*TopicSub) GetPublic

func (m *TopicSub) GetPublic() []byte

func (*TopicSub) GetReadId

func (m *TopicSub) GetReadId() int32

func (*TopicSub) GetRecvId

func (m *TopicSub) GetRecvId() int32

func (*TopicSub) GetSeqId

func (m *TopicSub) GetSeqId() int32

func (*TopicSub) GetTopic

func (m *TopicSub) GetTopic() string

func (*TopicSub) GetTouchedAt

func (m *TopicSub) GetTouchedAt() int64

func (*TopicSub) GetUpdatedAt

func (m *TopicSub) GetUpdatedAt() int64

func (*TopicSub) GetUserId

func (m *TopicSub) GetUserId() string

func (*TopicSub) ProtoMessage

func (*TopicSub) ProtoMessage()

func (*TopicSub) Reset

func (m *TopicSub) Reset()

func (*TopicSub) String

func (m *TopicSub) String() string

type Unused

type Unused struct {
}

Dummy placeholder message.

func (*Unused) Descriptor

func (*Unused) Descriptor() ([]byte, []int)

func (*Unused) ProtoMessage

func (*Unused) ProtoMessage()

func (*Unused) Reset

func (m *Unused) Reset()

func (*Unused) String

func (m *Unused) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL