package
0.0.0-20230310201401-7aac46a7fa12
Repository: https://github.com/mitghi/protox.git
Documentation: pkg.go.dev
# README
protobase
Provides design protocols for extending, replacing and creating new subsystems that plug into current flow of the program. A contract provides minimal required functionality excluding operating layer ( e.g. threading model ), dependencies and initialization layer.
"One of the best solutions for ensuring plain dealing is the contract. A contract defines your rights and responsibilities, as well as those of the other party. In addition, there is an agreement concerning repercussions if either party fails to abide by the contract." - The Pragmatic Programmer
# Constants
Access Control List mode flags.
Access Control List mode flags.
Access Control List mode flags.
Authorization mode flags.
Authorization mode flags.
Authorization mode flags.
AUTHModeStrict is defined as follow: - A set of predefined permissions for user groups which 'Auth' authorizes by validating a route or action.
TODO: .
TODO: .
Client mode flags.
Client mode flags.
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Client mode flags.
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Control packet codes ( shifted to left, mask : 0xF0 ).
Server command codes.
wildcard identifer.
QoS (Quality of Service) codes.
QoS (Quality of Service) codes.
QoS (Quality of Service) codes.
Maximum supported Quality of Service.
Message Direction.
Message Direction.
Message Direction.
Duplicate option.
Retain option ( N = no, Y = yes .
Control packet raw codes.
Control packet raw codes.
Control packet raw codes.
Control packet raw codes.
Control packet raw codes.
Control packet raw codes.
Control packet raw codes.
Control packet raw codes.
Control packet raw codes.
Control packet raw codes.
Version.
Control packet raw codes.
Control packet raw codes.
Client disconnect flags.
Client disconnect flags.
Client disconnect flags.
Client disconnect flags.
Control packet raw codes.
Control packet raw codes.
Client disconnect flags.
Client disconnect flags.
Connection response header options.
no response code is set yet.
Connection response codes.
Connection response codes.
Connection response codes.
Connection response codes.
Server command codes.
Authorization status codes.
Authorization status codes.
Authorization status codes.
Authorization status codes.
TODO .
seperator literal.
Server status.
Server status.
Server status.
Server status.
Connection status codes.
STATDISCONNECT is the initial state.
Connection status codes.
Connection status codes.
Connection status codes.
Connection status codes.
Connection status codes.
TODO: change this later.
topic with wildcard identifier.
wildcard lietral.
Duplicate option.
Retain option ( N = no, Y = yes .
# Interfaces
ACLInterface is the interface used to implement access control list.
ACLNodeInterface is the interface used to implement access control list layered levels.
ACLPermInterface is the interface for individual access rules associated with a single entity.
AuthInterface is the interface for authenication facilities.
BaseControlInterface is the interface to conform to fulfilling requirements of internal management console.
BrokerInterface is the interface for broker implementors.
CLBUserInterface is the requirement for implementing Client-to-Broker user.
ClientInterface is the interface that must be implemented by subsystems which handle high level client logics.
CLStoreInterface is a interface `ClientInterface` containers.
ConnectionState is the interface for status of a connection.
ConStateInterface is the requirement for implementing protox event handler.
ContNodeInterface is a interface for representing data nodes.
CredentialsInterface is the interface for credential providers.
EDProtocol is a interface used for PDU ( protocol data units ).
ILoggable is a interface for any object accepting an external logging facility.
LoggerInterface is a interface that all logging facilities must conform to.
LoggingInterface is the extended logging interface.
MessageBox is the packet storage interface.
MessageStorage is a interface that must be implemented in order to be passed into `ServerInterface` and `ProtoConnection` implementors.
MsgEnvelopeInterface is the interface for content of a proto packet.
MSGIDInterface provides identifier storage used in inbound/outbound messages for retrieval of packets and identification of messsage sequence.
MsgInterface is the interface that represents a proto packet and its neccessary associated meta data.
OptionInterface is the interface that represents a option.
PacketInterface is low level interface for accessing and manipulating packet content.
PermissionInterface is the interface that implementors must conform to in order to become compatible with ACL modules.
ProtocolClientConnection is the main interface used by clients.
ProtocolConnection is server side protocol connection interface.
ProtoEventInterface is the interface for implementing event handler responsible for processing protox packets.
No description provided by the author
RetainStorageInterface is the interface for retained messages container.
RouterInterface is high level interface requirement corresponding to the component in charge for purpose of handling hierarchical topics and its relevant mapping.
ServerInterface is the interface that must be implemented by subsystems which do the serving.
SubsProviderInterface is a interface for topic providers.
# Type aliases
No description provided by the author
No description provided by the author
No description provided by the author
ClientDelegate is the signature for passing a new `ClientInterface` delegate.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author