<feed xmlns='http://www.w3.org/2005/Atom'>
<title>minetest.git/src/network/toserverpacket.cpp, branch wield_animation</title>
<subtitle>lizzy's patches for luanti
</subtitle>
<id>https://git.vlhl.dev/lizzy/luanti/minetest.git/atom?h=wield_animation</id>
<link rel='self' href='https://git.vlhl.dev/lizzy/luanti/minetest.git/atom?h=wield_animation'/>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/lizzy/luanti/minetest.git/'/>
<updated>2015-02-16T10:00:55+00:00</updated>
<entry>
<title>[Patch 2/4] Network rework: packet writing, sending and cleanups</title>
<updated>2015-02-16T10:00:55+00:00</updated>
<author>
<name>Loic Blot</name>
<email>loic.blot@unix-experience.fr</email>
</author>
<published>2015-01-16T10:37:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/lizzy/luanti/minetest.git/commit/?id=ed04e8e9e407f0dd57fa83a9732b3a3968cb80e0'/>
<id>urn:sha1:ed04e8e9e407f0dd57fa83a9732b3a3968cb80e0</id>
<content type='text'>
NetworkPacket.cpp:
* Remove some deprecated functions, we must use streaming interface
* m_data converted from u8* to std::vector&lt;u8&gt;
* Add an exporter to forge packet to Connection object
* implement operator &lt;&lt; std::wstring. n
* implement operator &lt;&lt; std::string
* dynamic resize when write packet content.
* fix string writing and performances.
* create ServerCommandFactory, used by client to get useful informations about packet processing (sending).
  * Reliability
  * Transmit channel
* Implement putRawString for some ugly char (_INIT packet), and use it.
* Many packet read and write migrated
* Implement oldForgePacket to interface writing with current connection
* fix U8/char/bool writing
* fix string writing and performances.
* add some missing functions
* Use v3s16 read instead of reading x,y,z separately
* Add irr::video::SColor support into packets
* Add some missing handlers
* Add a template function to increase offset
* Throw a serialization error on packet reading (must be improved)

PacketFactories:
* Create ServerCommandFactory, used by client to get useful informations about packet processing (sending).
* Create ClientCommandFactory, used by server to get useful informations about packet processing (sending).

Client.cpp:
* implement NetworkPacket ::Send interface.
* Move packet handlers to a dedicated file
* Remove Client::Send(SharedBuffer)

Server.cpp:
* implement NetworkPacket ::Send interface.
* Rewrite all packets using NetworkPacket
* Move packet handlers to a dedicated file
* Remove Server::Send(SharedBuffer)

ClientIface.cpp:
* Remove sendToAll(SharedBuffer&lt;u8&gt;)

Connection.hpp rework:
* Remove duplicate include
* Remove duplicate negation
* Remove a useless variable
* Improve code performance by using a m_peers_list instead of scanning m_peers map
* Remove Connection::Send(SharedBuffer)
* Fix useafterfree into NetworkPacket Sending
* Remove unused Connection::sendToAll

Test.cpp:
* Remove dead code
* Update tests to use NetworkPackets

Misc:
* add new wrappers to Send packets in client, using NetworkPacket
* Add NetworkPacket methods for Connection
* coding style fix
* dead code since changes cleanup
* Use v3s16 read instead of reading x,y,z separately in some packets
* Use different files to handle packets received by client and server
* Cleanup: Remove useless includes

ok @Zeno-
Tested by @Zeno- @VanessaE and @nerzhul on running servers
</content>
</entry>
<entry>
<title>Network Layer 7 rework (Packet handling)</title>
<updated>2015-02-10T10:04:08+00:00</updated>
<author>
<name>Loic Blot</name>
<email>loic.blot@unix-experience.fr</email>
</author>
<published>2015-01-12T16:01:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/lizzy/luanti/minetest.git/commit/?id=a704c04f00bfea4b77550169fa08105c2ee0dfd0'/>
<id>urn:sha1:a704c04f00bfea4b77550169fa08105c2ee0dfd0</id>
<content type='text'>
* Move networkcode to a dedicated directory
* Rename clientserver.h to network/networkprotocol.h (Better name) and sanitize some includes
* Create object NetworkPacket
  * It stores command (opcode) and data separated
  * It also stores peer_id
  * Data reading can be done by using a streaming interface
* Change packet routing analysis
  * Remove old conditional analysis
  * Now uses function pointed analysis and add connection state ({Client,Server}::handlers)
  * Connection state permit to categorize condition to handle before analyze packets
  * Create a handler for depreciated messages, instead of duplicating code
</content>
</entry>
</feed>
