beagle r4623 - trunk/beagle/BeagleClient
- From: dbera svn gnome org
- To: svn-commits-list gnome org
- Subject: beagle r4623 - trunk/beagle/BeagleClient
- Date: Thu, 20 Mar 2008 21:46:53 +0000 (GMT)
Author: dbera
Date: Thu Mar 20 21:46:52 2008
New Revision: 4623
URL: http://svn.gnome.org/viewvc/beagle?rev=4623&view=rev
Log:
Use the pre-generated serializers.
Set the buffer size of the unix sockets to 4K.
Modified:
trunk/beagle/BeagleClient/Transport.cs
trunk/beagle/BeagleClient/UnixTransport.cs
Modified: trunk/beagle/BeagleClient/Transport.cs
==============================================================================
--- trunk/beagle/BeagleClient/Transport.cs (original)
+++ trunk/beagle/BeagleClient/Transport.cs Thu Mar 20 21:46:52 2008
@@ -41,8 +41,26 @@
public abstract class Transport {
- protected static XmlSerializer req_serializer = new XmlSerializer (typeof (RequestWrapper), RequestMessage.Types);
- protected static XmlSerializer resp_serializer = new XmlSerializer (typeof (ResponseWrapper), ResponseMessage.Types);
+ //////////////// Serialization ////////////////
+
+ protected static XmlSerializer req_serializer, resp_serializer;
+#if GENERATE_SERIALIZE
+ static Transport () {
+ req_serializer = null;
+ resp_serializer = null;
+ Logger.Log.Error ("Should not be here");
+ Environment.Exit (1);
+ }
+#else
+ static Transport () {
+ Beagle.GeneratedSerializers.Literal.XmlSerializerContract factory = new Beagle.GeneratedSerializers.Literal.XmlSerializerContract ();
+
+ // What happens when the factory does not have a serializer for a particular type
+ // Does it fallback to its reflection based approach ?
+ req_serializer = factory.GetSerializer (typeof (RequestWrapper));
+ resp_serializer = factory.GetSerializer (typeof (ResponseWrapper));
+ }
+#endif
private bool local = false;
@@ -106,7 +124,6 @@
Logger.Log.Debug ("Received response:\n{0}\n", r.ReadToEnd ());
deserialize_stream.Seek (0, SeekOrigin.Begin);
#endif
-
ResponseWrapper wrapper = (ResponseWrapper)resp_serializer.Deserialize (deserialize_stream);
ResponseMessage response = wrapper.Message;
deserialize_stream.Close ();
Modified: trunk/beagle/BeagleClient/UnixTransport.cs
==============================================================================
--- trunk/beagle/BeagleClient/UnixTransport.cs (original)
+++ trunk/beagle/BeagleClient/UnixTransport.cs Thu Mar 20 21:46:52 2008
@@ -87,6 +87,8 @@
protected override void SendRequest (RequestMessage request)
{
client = new UnixClient (this.socket_name);
+ client.SendBufferSize = 4096;
+ client.ReceiveBufferSize = 4096;
NetworkStream stream = client.GetStream ();
base.SendRequest (request, stream);
@@ -121,7 +123,7 @@
do {
// 0xff signifies end of message
- end_index = ArrayFu.IndexOfByte (this.network_data, (byte) 0xff, prev_index);
+ end_index = Array.IndexOf<byte> (this.network_data, (byte) 0xff, prev_index);
int bytes_count = (end_index == -1 ? bytes_read : end_index) - prev_index;
this.BufferStream.Write (this.network_data, prev_index, bytes_count);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]