maximum data over link



Hello,

I did some tests with some use data buffers. (See also my previous
mail). I investigated this and found that there is a define
GIOP_INITIAL_MSG_SIZE_LIMIT which is default the value 256*1024

Is there any reason why this is this value ?

I did made some tests with #define GIOP_INITIAL_MSG_SIZE_LIMIT 6000*1024
and for me it works. It is confusing for me because if I use
the type 

typedef sequence<octet> HelloBuf;

module Hello{
        struct T_HELLOWORLD{
                string name;
                short type;
                HelloBuf data;
        };
        interface World {
                T_HELLOWORLD GetData(in string name);
        };
};

it is converted to type 

   typedef struct
   {
      CORBA_unsigned_long _maximum,
       _length;
      CORBA_octet *_buffer;
      CORBA_boolean _release;
   } CORBA_sequence_CORBA_octet;

So I expect that I can send the full CORBA_unsigned_long over the link.
Is there any reason why it is not so ?

However I have made a patch to the latest CVS version :

Index: include/orbit/GIOP/giop-types.h
===================================================================
RCS file: /cvs/gnome/ORBit2/include/orbit/GIOP/giop-types.h,v
retrieving revision 1.21
diff -u -r1.21 giop-types.h
--- include/orbit/GIOP/giop-types.h     27 Oct 2003 16:14:12 -0000     
1.21
+++ include/orbit/GIOP/giop-types.h     24 Sep 2004 19:03:55 -0000
@@ -35,7 +35,7 @@
                                        gpointer dummy);
 };
 
-#define GIOP_INITIAL_MSG_SIZE_LIMIT 256*1024
+#define GIOP_INITIAL_MSG_SIZE_LIMIT 6000*1024
 
 typedef enum {
        GIOP_CONNECTION_SSL
Index: linc2/include/linc/linc-connection.h
===================================================================
RCS file: /cvs/gnome/ORBit2/linc2/include/linc/linc-connection.h,v
retrieving revision 1.35
diff -u -r1.35 linc-connection.h
--- linc2/include/linc/linc-connection.h        10 Oct 2003 11:57:13
-0000      1.35
+++ linc2/include/linc/linc-connection.h        24 Sep 2004 19:03:56
-0000
@@ -101,7 +101,7 @@
 
 glong        link_connection_read     (LinkConnection       *cnx,
                                       guchar               *buf,
-                                      int                   len,
+                                      glong                   len,
                                       gboolean             
block_for_full_read);
 
 /* Return values from these functions are going to be "abnormal",
Index: linc2/src/linc-connection.c
===================================================================
RCS file: /cvs/gnome/ORBit2/linc2/src/linc-connection.c,v
retrieving revision 1.110
diff -u -r1.110 linc-connection.c
--- linc2/src/linc-connection.c 16 Sep 2004 13:07:29 -0000      1.110
+++ linc2/src/linc-connection.c 24 Sep 2004 19:03:58 -0000
@@ -716,7 +716,7 @@
 glong
 link_connection_read (LinkConnection *cnx,
                      guchar         *buf,
-                     int             len,
+                     glong             len,
                      gboolean        block_for_full_read)
 {
        int bytes_read = 0;
@@ -732,7 +732,7 @@
                goto fatal_error;
 
        do {
-               int n;
+               glong n;
 
 #ifdef LINK_SSL_SUPPORT
                if (cnx->options & LINK_CONNECTION_SSL)






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]