Please can someone comment on my email. Thanks

--
Umair Muhammad
Electrical Engineering Master Student,
Specialization in Wireless Systems,
School of Electrical Engineering,
Royal Institute of Technology (KTH),
SE 100-44 Stockholm, SWEDEN.
Email: mum...@kth.se
Cell:   +46 764 097 574
________________________________________
From: drizzle-discuss-bounces+mumair=kth...@lists.launchpad.net 
[drizzle-discuss-bounces+mumair=kth...@lists.launchpad.net] on behalf of 
Muhammad Umair [mum...@kth.se]
Sent: Thursday, May 24, 2012 12:57 PM
To: drizzle-discuss@lists.launchpad.net
Subject: [Drizzle-discuss] Drizzle Compression Project

Hi,

I am writing this email in order to share the proposal plan for the project to 
add the compression support to Drizzle Protocol.

As I had investigated that only MySQL protocol in Drizzle supports pluggable 
compression. In Drizzle protocol, right now Brain has only added the 
ListenDrizzleProtocol class which is basically the alias of ListenMySQLProtocol 
class.

So the basic idea that I have figured out is to add the ClientDrizzleProtocol 
class into the plugin/drizzle_protocol/drizzle_protocol.h, which is basically 
the alias of the ClientMySQLProtocol class on the mysql_protocol in order to 
use the compression over the network in Drizzle protocol. So I can use the 
ClientMySQLProtocol code as well as permission to use the 
"plugin/mysql_protocol/net.serv.h" .

I will work on the following plugin files

plugin/drizzle_protocol/drizzle_protocol.h
plugin/drizzle_protocol/drizzle_protocol.cc

and takes the reference as

plugin/mysql_protocol/mysql_protocol.h
plugin/mysql_protocol/mysql_protocol.cc

Please correct me if I understand incorrectly.

I have a confusion about whats the role of the following below handshake 
functions

 /* Handshake packets. */
  drizzle_con_set_protocol_version(con, 10);
  drizzle_con_set_server_version(con, "libdrizzle example 1.2.3");
  drizzle_con_set_thread_id(con, 1);
  drizzle_con_set_scramble(con, (const uint8_t *)"ABCDEFGHIJKLMNOPQRST");
  drizzle_con_set_capabilities(con, DRIZZLE_CAPABILITIES_NONE);
  drizzle_con_set_charset(con, 8);
  drizzle_con_set_status(con, DRIZZLE_CON_STATUS_NONE);
  drizzle_con_set_max_packet_size(con, DRIZZLE_MAX_PACKET_SIZE);

  ret= drizzle_handshake_server_write(con);
  DRIZZLE_RETURN_CHECK(ret, "drizzle_handshake_server_write", drizzle)

  ret= drizzle_handshake_client_read(con);
  DRIZZLE_RETURN_CHECK(ret, "drizzle_handshake_client_read", drizzle);

So in capabilities if use the "DRIZZLE_CAPABILITIES_COMPRESS" so it let the 
server to use the compression. These functions of course use over the network. 
So my question is that why not to add/enable the DRIZZLE_CAPABILITIES_COMPRESS 
flag and use the compression/decompression while sending and receive the data.

Please clarify me whats the difference in more details?

Thanks and Regards,

Umair Muhammad
Electrical Engineering Master Student,
Specialization in Wireless Systems,
School of Electrical Engineering,
Royal Institute of Technology (KTH),
SE 100-44 Stockholm, SWEDEN.
Email: mum...@kth.se
Cell:   +46 764 097 574
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : drizzle-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : drizzle-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to