Welcome to Antano’s documentation!¶
Antano Server¶
The Antoano - Server combines TCP, UDP, Websocket and REST connectivitiy to all Antano - Clients. It is ultra reliable and performant as it selects the best way for connection for each use-case. Further more it is easily scaleable and prepared to run in a cluster.
Here you can find the hole Docu_Tree Complete DocuTree
Note
All docs for internal development are located in our floating Markdown Server. So if you want to get more information on how to use Antano-Server and Clients just go here: Antano-Docs
Getting Started¶
To start the Server just login to the mashine like in our floating docs described above.
cd /var/www/com.fpsvisionary.antano_server/Antano
python3 start_antano.py -h
#This will give you a short overview
usage: start_antano.py [-h] [--id ID] [--address ADDRESS] [-v] [-l LOG_LEVEL]
[-d]
optional arguments:
-h, --help show this help message and exit
--id ID, -i ID ServerID for static debug-vals enter '-1'
--address ADDRESS, -a ADDRESS
string of host/id
-v, --version show program version
-l LOG_LEVEL, --log_level LOG_LEVEL
loglevel of logging
-d, --hide_logo Hiding the logo
Antano Server structure¶
This is our Server and Module-Structure. Simply click on each Module or Class in order to get to the docs.
Server Class¶
server Package¶
Init server basic classes
Classes¶
Server (_server_param) |
The Antoano - Server combines TCP, UDP, Websocket and REST connectivitiy to all Antano - Clients.It is ultra reliable and performant as it selects the best way for connection for each use-case. |
DBManager () |
DBManager resolves all sql and database request and holds the _con and _cur connection |
ServerSettings () |
ServerSettings this class is reliable for handling and manipulation of attached server settings |
AntanoServer (_server_param) |
The Antoano - Server combines TCP, UDP, Websocket and REST connectivitiy to all Antano - Clients.It is ultra reliable and performant as it selects the best way for connection for each use-case. |
HttpConfigHelper |
Static Helper class for generating nginx config file |
Class Inheritance Diagram¶
services Package¶
– Init – services
Classes¶
TCPService (_server, _params[, _type, _family]) |
TCP Service - module cares about all tcp connections |
UDPService (_server, _params[, _type, _family]) |
UDPService waits for incomming socket data and processes them |
SocketService (_server, _params[, _type, _family]) |
The Socket services is a multi-threaded Socket running on specific ports. |
PushService (_server, _service_params) |
PushService inits all PushService for direct communication with moblie clients |
UnixService (_server, _params[, _type, _family]) |
UnixService – this service is a special way how we will communicate with a particular process Since we are not able to get complex data from one to another process it is necessarily to communicate between them via UnixSockets |
RestService (_server, _params[, _type, _family]) |
RestService - baseclass for getting particular rest commands for communication over REST API |
Service (_server, _service_params) |
services Each service is a representation of for example UDP or TCP socket. |
ServiceState |
Service States declares a specific state of service |
ServiceType |
ServiceTypes are all assoc serrives in our System They need to match with the one in the db |
WebSocketService (_server, _params[, _type, …]) |
WebSocketService inits a websocket service with a specific endpoint and port |
AntanoTCPServer (*args, **kwargs) |
A sub-classed tornado tcp server |
AntanoUNIXServer (*args, **kwargs) |
A sub-classed tornado tcp server |
WebRTCService (_server, _params[, _type, _family]) |
WebRtcService inits a websocket service with a specific endpoint and port and specific settings for handling web-rtc calls |
Class Inheritance Diagram¶
services.handler Package¶
Basic init for RequestHandler
Classes¶
RequestHandler (application, request, **kwargs) |
RequestHandler for Websocket and Rest Inherits from Tornado RequestHandler |
WebSocketHandler (application, request, **kwargs) |
WebSockethanlder base class |
WebRTCHandler (application, request, **kwargs) |
WebRTCHandler base class handles all different WebRTC connection from various clients. |
WebRtcRoomHandler (application, request, **kwargs) |
Special handler for creating rooms for apprtc clients |
Class Inheritance Diagram¶
services.signaling Package¶
– Init – signaling service
Classes¶
Signaling (_websocket, _service) |
Basic signaling class for handling web-rtc signaling |
UnitySignaling (_websocket, _service) |
WebRTCHandler base class |
ReactSignaling (_websocket, _service) |
React Signaling class this handles all communication for our React WebRTC client |
AppRTCSignaling (_websocket, _service) |
React Signaling class this handles all communication for our React WebRTC client |
Class Inheritance Diagram¶
entities Package¶
__init from entities
Classes¶
MessageFormat |
Format declared as Enum Style class for better coding |
Message (_params, _service, _address) |
Message class will pack and unpack all messages for given MessageFormat This can be MsgPack as well as JSON and later on also XML |
Entity (_params, _service) |
Basic class for entity with basic functions for all entities such as Client, Message etc |
Client (_params, _service, _address, _sock_stream) |
Handles and inits all client assacioated activities |
Class Inheritance Diagram¶
tests Package¶
– Init – test_clients
Classes¶
AntanoTest (*args, **kwargs) |
This is a test for basic functionality for the Server class It will test relevant parameter and status. |
TestAntanoServerBasics (*args, **kwargs) |
This is a test for basic functionality for the Server class It will test relevant parameter and status. |
TestMultiRESTJSON (*args, **kwargs) |
Multitesting of Client vs Server. |
TestMultiREST (*args, **kwargs) |
Multitesting of Client vs Server. |
TestMultiTCPJSON (*args, **kwargs) |
Multitesting of Client vs Server. |
TestMultiUDPJSON (*args, **kwargs) |
Multitesting of Client vs Server. |
TestMultiUDP (*args, **kwargs) |
Multitesting of Client vs Server. |
TestMultiWebSocketJSON (*args, **kwargs) |
Multitesting of Client vs Server. |
TestMultiWebSocket (*args, **kwargs) |
Multitesting of Client vs Server. |