- split MYSQLND_NET into MYSQLND_NET and MYSQLND_VIO
MYSQLND_NET is above MYSQLND_VIO. _NET takes care of protocol packet
counting (even with compressed), while VIO is just about the network
(or in case of windows, non-network, but PIPE) transport.
- remove static function and make it a method. The function doesn't need to
be in mysqlnd_ps.c as it doesn't use any resources anymore from it (it used
in the past)
- removed init() method from mysqlnd_conn_data and moved the initialization
to the object factory->get_connection(). Now it is unified as with the prepared
statement which doesn't have any init() method
- the protocol decoder factory now takes connection as parameter at creation and
thus there is no need to pass the connection as parameter when calling the read
or the write method of a packet.
- saved the protocol payload decoder factory as pointer in every packet (read/write)
so the connection doesn't need to be passed on every call of read/write (dependency
has been already injected at creation). This will alow to move protocol specific
code from MYSQLND_NET (send_ex()) to make MYSQLND_NET leaner and free from protocol
stuff.
methods for the handle and the data object.
Add auxiliary functions to work with the new methods.
Add possibility to clone a connection object - shadow copy.
methods for the handle and the data object.
Add auxiliary functions to work with the new methods.
Add possibility to clone a connection object - shadow copy.