Commit Graph

120 Commits

Author SHA1 Message Date
Joshua Scott 00b404f132 net: Fix usages of send_packet 2018-04-11 02:55:01 +01:00
Joshua Scott eeb5b5c14b net: Make Participant::on_packet_available protected
Technically we don't want derived classes to be able to call this, but it's needed for the Python side to be able to override it.
2018-04-11 01:20:23 +01:00
Joshua Scott 59aa21b4b6 net: Implement send_message on DMLSession 2018-04-11 01:18:31 +01:00
Joshua Scott 1d6855581a net: Fix namespace typo in DMLSession
Forgot to change these to net after moving them from dml
2018-04-11 01:16:21 +01:00
Joshua Scott 2acb22214c net: Rename dml::Session to net::DMLSession 2018-04-11 01:13:37 +01:00
Joshua Scott c4630ae970 net: Session::send_packet was unnecessarily templated 2018-04-11 01:12:53 +01:00
Joshua Scott 599afed56f control: Catch DML errors when parsing control messages 2018-04-11 00:50:10 +01:00
Joshua Scott 88f98fd84c net: Fix small bug in PacketHeader
This prevented on_invalid_packet from being called
2018-04-11 00:38:33 +01:00
Joshua Scott e62f3e7647 protocol: Implement a DML-based Session 2018-04-11 00:35:16 +01:00
Pythonology 70679afed1
net: send_packet_data() needs to be protected
This is required in order to expose it to Python.
2018-04-09 22:34:50 -04:00
Joshua Scott e89cdd2ae4 protocol: Don't handle application messages before CLIENT_HELLO 2018-04-09 22:09:49 +01:00
Joshua Scott 1755bda42e protocol: Fix memcpy build error 2018-04-09 21:56:58 +01:00
Joshua Scott 5ff4fb651d protocol: Add Participant and Session 2018-04-09 21:53:09 +01:00
Joshua Scott 57ef9b95f8 protocol: Implement PacketHeader 2018-04-09 21:51:02 +01:00
Joshua Scott 611943e3ad protocol: Remove the Packet class
It doesn't need to exist
2018-04-09 21:49:11 +01:00
Joshua Scott 2f51a53cb3 protocol: Message record should start off as a nullptr 2018-04-06 05:36:54 +01:00
Joshua Scott a13731ccc0 protocol: Fix memory leak in Packet when data isn't read succesfully 2018-04-06 04:52:58 +01:00
Joshua Scott f2247f03f4 protocol: Fix typo in MessageBuilder 2018-04-06 04:24:10 +01:00
Joshua Scott 0a2997e3d7 Merge branch 'master' into messaging 2018-04-06 04:15:12 +01:00
Joshua Scott b5909878f8 protocol: Use an auto sorting system for message types
Rather than calling sort_lookup externally
2018-04-06 04:14:37 +01:00
Joshua Scott 3922ca4b39 dml: Only parse element nodes in Record XML
This fixes spaces and other oddities in the official modules.
2018-04-06 04:01:22 +01:00
Joshua Scott 9ef780ace1 protocol: Fix message types in modules that don't specify _MsgOrder 2018-04-06 03:07:35 +01:00
Joshua Scott 6a84d50cee examples: Example for loading DML message modules 2018-04-05 18:09:56 +01:00
Joshua Scott 8d7348aa81 dml: Fix bug with BYT/UBYT fields in XML
also made get_value_string and set_value_from_string public and part of the abstract base class.
2018-04-05 17:37:59 +01:00
Joshua Scott 3e34c0b3bc protocol: Implement module loading and I/O for DML messages
'das alota cod
2018-04-05 17:36:26 +01:00
Joshua Scott e2f6bd1655 dml: Add method for getting FieldBase * from Record
Needed for niceties in the Python binding
2018-04-04 04:08:06 +01:00
Joshua Scott c618e7d536 protocol: Fix problem with null characters in packet data 2018-04-03 21:36:49 +01:00
Joshua Scott 915b6e7e0a protocol: Implement control messages 2018-04-03 21:36:24 +01:00
Joshua Scott 9653475ed9 protocol: Implement Packet 2018-04-03 19:49:58 +01:00
Joshua Scott 519632dd01 Merge remote-tracking branch 'origin/messaging' into messaging 2018-04-03 17:21:18 +01:00
Joshua Scott 0268cf247d protocol: Add override specifier
I thought final implied it
2018-04-03 17:20:38 +01:00
Joshua Scott 85361f0e40 protocol: Add source files to CMakeLists.txt
also fix error in Packet.h
2018-04-03 17:20:33 +01:00
Joshua Scott bfe56f194a protocol: Definitions for DML messages 2018-04-03 17:20:26 +01:00
Joshua Scott ac14fc5d74 protocol: Definitions for control structures 2018-04-03 17:20:22 +01:00
Joshua Scott c9e485fa86 protocol: Packet class definition 2018-04-03 17:20:20 +01:00
Joshua Scott c08eb617bf dml: Add override specifier 2018-04-03 17:11:34 +01:00
Joshua Scott e0b5ca7923 protocol: Add override specifier
I thought final implied it
2018-04-03 17:02:30 +01:00
Joshua Scott bd57a3db9d protocol: Add source files to CMakeLists.txt
also fix error in Packet.h
2018-04-03 16:43:00 +01:00
Joshua Scott 3cb082b1af protocol: Definitions for DML messages 2018-04-03 16:11:06 +01:00
Joshua Scott 016e360b98 dml: Fields don't need to know which Record they belong to
This was preventing progress on the Python binding
2018-04-02 02:54:13 +01:00
Joshua Scott eb7e5ade63 protocol: Definitions for control structures 2018-04-02 01:25:08 +01:00
Joshua Scott e6f4d6c66f protocol: Packet class definition 2018-04-02 01:24:32 +01:00
Joshua Scott 9034c893a7 dml: Add more robust error reporting 2018-04-01 16:23:36 +01:00
Joshua Scott bba2aae43b dml: Fix build errors due to missing includes 2018-03-31 23:02:00 +01:00
Joshua Scott 9cb5426d1e dml: Fix build error on Travis 2018-03-31 20:30:32 +01:00
Joshua Scott cad6f44208 dml: Add XML input/output
<RECORD> elements can now be parsed.
Tests need to be written for this.
2018-03-31 20:22:57 +01:00
Joshua Scott 881119e6af cmake: Add RapidXML 2018-03-31 17:52:20 +01:00
Joshua Scott a1689a142c dml: Fix a problem that would have only been apparent on big-endian PCs 2018-03-30 21:40:05 +01:00
Joshua Scott 6883cae2ae dml: Documentation
There's really not a lot worth documenting though.
2018-03-30 21:34:06 +01:00
Joshua Scott 605819b539 dml: Don't serialize/deserialize NOXFER fields 2018-03-30 21:13:23 +01:00