Archived
This forum has been archived. Please start a new discussion on GitHub.
A question about memory limit in Ice.

in Help Center
HI,
When I use a function with an argument marshalling with more then 2M Bytes, memory limit exception happens. Can anybody help me?
I define the Blob type as follows,
sequence<byte> Blob;
In my ice interface VegaDB, a method is defined as follows,
void setBlob(string table, string szColumn, string szWhere, Blob blob);
When I call setBlob with a blob more than 2M Bytes, the memory limit exception happens.
I'm sure the servant implementation of setBlob is right because I just test it.
Why?
When I use a function with an argument marshalling with more then 2M Bytes, memory limit exception happens. Can anybody help me?
I define the Blob type as follows,
sequence<byte> Blob;
In my ice interface VegaDB, a method is defined as follows,
void setBlob(string table, string szColumn, string szWhere, Blob blob);
When I call setBlob with a blob more than 2M Bytes, the memory limit exception happens.
I'm sure the servant implementation of setBlob is right because I just test it.
Why?
0
Comments
-
You need to increase the maximum message size Ice can transfer. You can do this by setting the Ice.MessageSizeMax property (default is 1MB). See the manual for more information on this property.
Benoit.0 -
thank u very much.
Can u tell me how many connections does the Servant Program support in default?
I've found that when two clients connect to the server, the application slows down.0 -
There is no inherent limit for how many connections Ice can support. Whether or not you will get a slow-down with two connections depends on your application. Obviously, if both connections always send large amounts of data for the server to process, then your application will slow down, compared to having just one connection sending large amounts of data. If the connections are mostly idle, then there is no slow-down.0