Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Tuxedo client memory allocation

Posted on 2006-06-29
3
Medium Priority
?
326 Views
Last Modified: 2013-12-10
Hi,

We are calling EJB from VC++ client through tuxedo call (tpcall).
Client (VC++ 6.0)/Windows Tuxedo Client ----> Tuxedo Domain/Gateway/Broker (V 8.0) ----> Weblogic domain (8.1 SP5) ----> EJB (running in different application server).

We are having the following problem:

From the VC++ client we are calling a EJB which will return a search result. We don't know the number of results (i.e. size) that will be returned to the client. The prblem is we are allocating the output buffer (tpalloc) in the client to hold the result that will be returned by the EJB before calling the service.  So we are not able to display the results if it exceeds the the size of output buffer.

Can anyone let me know what to do in this situation so that we will be able to display the whole result always.

Thanks
0
Comment
Question by:pbsmbc
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 3

Accepted Solution

by:
yuseungkim earned 1500 total points
ID: 17011235
What is buffer type you're using ?

did you try to check the size of olen from tpcall and compare it with initial size allocated and if olen is bigger than what initially allocated by tpalloc, try to resize it using tprealloc ?

int tpcall(char *svc, char *idata, long ilen, char **odata, long *olen, long flags)

As you know, odata is the address of a pointer to the buffer where a reply is read into, and olen points to the length of that reply. *odata must point to a buffer originally allocated by tpalloc(). If the same buffer is to be used for both sending and receiving, odata should be set to the address of idata. FML and FML32 buffers often assume a minimum size of 4096 bytes; if the reply is larger than 4096, the size of the buffer is increased to a size large enough to accommodate the data being returned.

Cheers

Andy K

0
 

Author Comment

by:pbsmbc
ID: 17011441
Thanks Andy.
We are using FML32 buffer and we not using same buffer for sending and receiving the request.


0
 
LVL 3

Expert Comment

by:yuseungkim
ID: 17012461
Did you try to resize it based on olen using tprealloc ?
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

-Xmx and -Xms are the two JVM options often used to tune JVM heap size.   Here are some common mistakes made when using them:   Assume BigApp is a java class file for the below examples. 1.         Missing m, M, g or G at the end …
There are numerous questions about how to setup an IBM HTTP Server to be administered from WebSphere Application Server administrative console. I do hope this article will wrap things up and become a reference for this task. You need three things…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Suggested Courses

670 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question