#
relay
import "command-line-arguments"
#
Index
func GenerateRandomIdentifier() (string, error) func RecoverIdentity(signature *pb.Signature) (*pb.Identity, error) type Client func (client *Client) Connect() func (client *Client) Disconnect() func (client *Client) GetChannel() chan *pb.Message func (client *Client) GetIdentity() *pb.Identity func (client *Client) GetLimiter() *rate.Limiter func (client *Client) HasSufficientBalance() bool func (client *Client) IsConnected() bool func (client *Client) IsIdle(idleTimeoutTime int) bool func (client *Client) Ping() func (client *Client) SetHasSufficientBalance(hasSufficientBalance bool) func (client *Client) ShouldCheckBalance() bool
type ClientRegistry func (registry *ClientRegistry) Count() int func (registry *ClientRegistry) CountConnected() int func (registry *ClientRegistry) DisconnectAll() func (registry *ClientRegistry) GetClientFromIdentity(identity *pb.Identity) (*Client, error) func (registry *ClientRegistry) GetClientFromSignature(signature *pb.Signature) (*Client, *pb.Identity, error) func (registry *ClientRegistry) GetClients() []*Client func (registry *ClientRegistry) IsRegistered(identity *pb.Identity) bool func (registry *ClientRegistry) Register(identity *pb.Identity, config *RelayServerConfig) func (registry *ClientRegistry) Unregister(identity *pb.Identity) error
type MessageLabel func (label *MessageLabel) IsSubscribed(client *Client) bool func (label *MessageLabel) Propagate(message *pb.Message, origin *pb.Identity) func (label *MessageLabel) Subscribe(client *Client) func (label *MessageLabel) Unsubscribe(client *Client) error
type RelayServerConfig type SubscriptionRegistry func (registry *SubscriptionRegistry) GetLabel(key string) *MessageLabel func (registry *SubscriptionRegistry) Init()
#
func GenerateRandomIdentifier
func GenerateRandomIdentifier() (string, error)
#
func RecoverIdentity
func RecoverIdentity(signature *pb.Signature) (*pb.Identity, error)
#
type Client
type Client struct {
// contains filtered or unexported fields
}
#
func (*Client) Connect
func (client *Client) Connect()
#
func (*Client) Disconnect
func (client *Client) Disconnect()
#
func (*Client) GetChannel
func (client *Client) GetChannel() chan *pb.Message
#
func (*Client) GetIdentity
func (client *Client) GetIdentity() *pb.Identity
#
func (*Client) GetLimiter
func (client *Client) GetLimiter() *rate.Limiter
#
func (*Client) HasSufficientBalance
func (client *Client) HasSufficientBalance() bool
#
func (*Client) IsConnected
func (client *Client) IsConnected() bool
#
func (*Client) IsIdle
func (client *Client) IsIdle(idleTimeoutTime int) bool
#
func (*Client) Ping
func (client *Client) Ping()
#
func (*Client) SetHasSufficientBalance
func (client *Client) SetHasSufficientBalance(hasSufficientBalance bool)
#
func (*Client) ShouldCheckBalance
func (client *Client) ShouldCheckBalance() bool
#
type ClientRegistry
type ClientRegistry struct {
// contains filtered or unexported fields
}
#
func (*ClientRegistry) Count
func (registry *ClientRegistry) Count() int
#
func (*ClientRegistry) CountConnected
func (registry *ClientRegistry) CountConnected() int
#
func (*ClientRegistry) DisconnectAll
func (registry *ClientRegistry) DisconnectAll()
#
func (*ClientRegistry) GetClientFromIdentity
func (registry *ClientRegistry) GetClientFromIdentity(identity *pb.Identity) (*Client, error)
#
func (*ClientRegistry) GetClientFromSignature
func (registry *ClientRegistry) GetClientFromSignature(signature *pb.Signature) (*Client, *pb.Identity, error)
#
func (*ClientRegistry) GetClients
func (registry *ClientRegistry) GetClients() []*Client
#
func (*ClientRegistry) IsRegistered
func (registry *ClientRegistry) IsRegistered(identity *pb.Identity) bool
#
func (*ClientRegistry) Register
func (registry *ClientRegistry) Register(identity *pb.Identity, config *RelayServerConfig)
#
func (*ClientRegistry) Unregister
func (registry *ClientRegistry) Unregister(identity *pb.Identity) error
#
type MessageLabel
type MessageLabel struct {
// contains filtered or unexported fields
}
#
func (*MessageLabel) IsSubscribed
func (label *MessageLabel) IsSubscribed(client *Client) bool
#
func (*MessageLabel) Propagate
func (label *MessageLabel) Propagate(message *pb.Message, origin *pb.Identity)
#
func (*MessageLabel) Subscribe
func (label *MessageLabel) Subscribe(client *Client)
#
func (*MessageLabel) Unsubscribe
func (label *MessageLabel) Unsubscribe(client *Client) error
#
type RelayServerConfig
type RelayServerConfig struct {
IdleTimeoutTime int
IdleDisconnectInterval int
MessageDriftTime int
MinAccountBalance float64
MaxDataSize int
VerifyMessageSignature bool
VerifyAccountBalance bool
VerifyDataSize bool
MessageRateLimit int
}
#
type SubscriptionRegistry
type SubscriptionRegistry struct {
// contains filtered or unexported fields
}
#
func (*SubscriptionRegistry) GetLabel
func (registry *SubscriptionRegistry) GetLabel(key string) *MessageLabel
#
func (*SubscriptionRegistry) Init
func (registry *SubscriptionRegistry) Init()
Generated by gomarkdoc