Commit Graph

37 Commits

Author SHA1 Message Date
c50d40341f Update
Removed Message Queue
Sending and receiving is now in one thread (gotta make them separate)
Created a very crude Plugin System
Renamed AllAndMe to AllAndServer
2019-10-15 16:27:16 +01:00
32473472e4 Code optimizations 2019-10-13 22:35:28 +01:00
5e401247b1 TODO: implement other polling APIs like kqueue and epoll, dont have linux at the moment 2019-10-12 19:25:56 +01:00
ad5ff5e53e High Level API - Fully Functional 2019-10-12 19:09:55 +01:00
6db271bd7e New version 2019-10-12 18:04:36 +01:00
6577e2dfb7 gitignore 2019-10-12 18:02:51 +01:00
e1237d90b8 Create .gitignore 2019-10-12 18:01:27 +01:00
7f388f54eb Update 2018-12-02 17:31:57 +00:00
b0da1569f8 nothing special 2016-12-20 05:17:51 +00:00
91f80a6c58 TcpClient: replaced C style function parameters with std::function
Added initialization to config
Added receiving for UdpClient
Removed InitWindows.cpp
Laying foundation for PluginManager
2016-10-31 14:05:03 +00:00
a9549c33e3 Added linux includes for networking
TcpClient: added close_connection to shutdown the connection on both send and receive
TcpServer: changed clients list initialization from constructors to using the reserve function
2016-09-16 20:38:30 +01:00
3e97c0da6d Updated TODO list
Removed windows specific files since the code is the same for linux
UdpClient: added basic methods to interact with the variables of that class, added initialization and started with sending and receiving messages
UdpServer: added initialization and basic variables
Utility: added a bunch of methods to the StringConverter utility class
VoidNetClientAPI: SendMessage now checks if message is not an handshake
2016-09-08 00:36:45 +01:00
74d9d5db87 Changed InternalTags names to be lower case
Removed parameter less constructor from TcpClient
Added UdpClient files
2016-08-21 15:24:28 +01:00
996b88c0f6 Updated TODO list
Added IS_HANDSHAKE macro to check if a NetworkMessage is a handshake easier
Utility: All From... methods are now ToBytes
replaced emplace_back to insert since it was not compiling correcly
2016-08-18 22:23:43 +01:00
9d1c518610 Added conversion from Handshake to NetworkMessage and vice versa
Added a new ConnectionCode - Close
TcpServer: AddToClientsList and AllocateID are now called add_to_clients_list and allocate_id respectively and are now private, removed SendHandshake method - we now use SendMessage method and the HandshakeToNetworkMessage method in the Handshake class
Added a new method to Utility::StringConverter - FromString
Changed NetworkMessage conversions to allow Handshake conversions
NetworkMessage: if subject is 1 then the NetworkMessage is a handshake
I may be missing something but im going to check it
I may be overcomplicating this but i want to make it as simple as possible xD
2016-08-18 15:08:51 +01:00
2314e862b1 Added a new type: longlong
TcpClient and TcpServer are now structs intead of classes
Starting with UdpClient
Added 2 new methods to StringConverter: Split and Trim
ConfigReader: Changed ReadNodes return type to void, parameter of operator [] is now a std::string
Starting with the VoidNetServer class which is an all in one for Tcp and Udp
Finally implemented the methods for the ConfigReader
2016-08-16 00:22:10 +01:00
e5ca02be0d TcpServer's OnMessage is now an vector called OnMessageFunctions, each plugin will occupy an index in this vector
Readded receive_data method to VoidNetClient.hpp
Minor fixes
2016-08-15 17:46:29 +01:00
8ceefbd9fe Added a bunch of undefs to Defs.hpp
Hanshake now has distribution_mode
Removed all the undef SendMessage and redefenitions, we are undefing it in Defs.hpp and we are now defing it back
Added SendHanshake GetMaxConnections SetMaxConnections and shutdown_internal methods in TcpServer.hpp and changed AcceptConnection parameter to uint16
Removed process_all_data method in VoidNetClient.hpp
Placed some functions that are OS independent in main cpp files to prevent the DRY concept
Fixed receive_data_array method in TcpClientWindows.cpp
VoidNetClientAPI::SendMessage now checks if tags dont have the CONNECT or DISCONNECT value because thats reserved to the server
2016-08-15 17:26:50 +01:00
e3de0a1489 Tried to implement some Utility::Bitconverter methods but it didnt worked
InternalTags cant be higher than 255 because they will be converted to byte
added new ToString method in Utility::StringConverter
Server now closes the connection better
2016-08-12 10:46:36 +01:00
b5de5d0aef This file shouldn't be here 2016-08-08 21:23:53 +01:00
255f3551cc Added missing global TcpClient.cpp file
Fixed Serializer from_bytes parentisis missing
Fixed client shutdown, now it sends a message saying its disconnected in TcpServerWindows
2016-08-02 12:57:56 +01:00
81a065b98b Removed Tags file
Updated TODO file
TcpClient: Added parameterless contructor, id is now -2 by default which is invalid, Added SendBytes method for C style arrays
TcpServer: Added 2 CloseSocket function, one for TcpClient and another one for id, also added GetClientByID
client is now declared on the stack in VoidNetClient
Made Serializer code smaller, still need to integrate a compressor
2016-08-01 14:22:59 +01:00
0ac8b4f6e8 Added Handshake class
Fixed NetworkBuffer include
Fixed some data types
TcpClient: Added SendBytes, SetOnDisconnectCallback, SetOnConnectCallback, SetOnMessageCallback methods and made callback std::function's private and fixed some method implementations
Added AcceptConnection on TcpServer
Fixed TcpServer AddToClientsList
2016-08-01 00:28:22 +01:00
bb6a2a25d3 Massive update:
Changed all byte pointers to vectors
NetworkMessage: DecodeMessage and EncodeMessage are now static
TcpClient: Fixed OnMessage function
NetworkMessage: merged both private methods into 1 method
2016-07-31 01:28:36 +01:00
9e5cd40847 Added DataAvailable method in TcpClient which will return the number of bytes available in the stream
Config functions are now inline
NetworkMessage and NetworkBuffer are being reworked
2016-07-23 13:15:59 +01:00
c83b4101d0 New configuration variable, log_to_file
Shutdown function added to TcpClient
Shutdown function added to TcpServer
Renamed socket to server_tcp_socket in TcpServer
Implemented ConfigReader class
2016-07-23 12:35:20 +01:00
6fa7872a6d Added Connection Codes
Private methods dont have capital letters and are words are separated by underscores
Added id's to TcpClient's class
Removed ptr from TcpClient and Server
Worked on TcpServer
Theres now a default server port
Added ReceiveMessage function to TcpClient to receive only 1 message
Fixed VoidNetClientAPI Receive function
2016-07-22 00:32:53 +01:00
5bf0aebf0f Added TcpServer header, source file and added file for tcp server windows implementation
Excluded OS specific files from build
2016-07-21 10:15:28 +01:00
3f99e8a178 Removed VoidCode enum, added missing tcp client windos code and missing if macro in TcpClient.hpp 2016-07-20 22:20:50 +01:00
c5d565698e Fixed "ws2_32.lib" pragma
Initialization is now a class
Started new StringConverter class and revamped the BitConverter class - WIP
2016-07-19 00:47:46 +01:00
b42b26cada Removed old callbacks
Implemented new callback methods
Made ReceiveData renamed to ReceiveMessages, returns void amd calls the callback methods
2016-07-18 21:48:34 +01:00
a1249ab5e9 Got async methods working for send in TcpClientWindows
All SendMessage functions are now void
2016-07-18 20:05:22 +01:00
c27ce40bab Trying to implement the sender but its not working the way i want 2016-07-18 03:44:27 +01:00
a211400964 Added Development information for me to dont forget things xD
Added AllAndMe DistributionType
Added a ThreadPool class
Added VoidNetClientAPI
2016-07-18 01:13:20 +01:00
72aa8ee0c4 Got tcp receiving for windows done
Callbacks are done - maybe ill add a few more later - i dont know if they will work correctly yet
Fixed the Serialization class
Added internal tags - for now it only has CONNECT and DISCONNECT - maybe ill add more later
Fixed some data type parameters in some functions
2016-07-17 19:59:22 +01:00
16ed3619b3 Added Tests project, Callback functions are in progress, NetworkBuffer is done, Network Message is WIP but already has a lot of code, Serializer is done (subject to change), Utility classes are being made, and TcpClientWindows is WIP.
Every single piece of code wrote today may or not change, but it will probably change because ill find a better way to do it xD
2016-07-17 02:46:42 +01:00
97262ee8c6 Added initialization, data type defenitons and started with TcpClient 2016-07-16 23:26:56 +01:00