f



RE: [tao-users] Load balancing question #2

Would the TAO loadmanager work to load balance between non-TAO orbs?

If not, what would be needed to make them participate as a replica?

/Jesper 

-----Original Message-----
From: Ossama Othman [mailto:ossama@dre.vanderbilt.edu] 
Sent: den 23 april 2005 20:08
To: Jesper S�derlund
Cc: tao-users@cse.wustl.edu
Subject: Re: [tao-users] Load balancing question

Hi Jesper,

Sorry for the delay.

On Mon, 2005-04-11 at 22:12 +0200, Jesper S�derlund wrote:
> The load balancing algorithm implemented by TAO, how does it cope with 
> the disapearance of a replica?

It currently does not.  The LoadManager currently assumes that all group members are reachable.  However, it should be relatively straightforward to implement a simple heartbeat/ping mechanism that is configurable at run-time through the PortableGroup PropertyManager interface.

> Would it not, until it itself found out that the replica was gone, 
> redirect clients to a "dead" node? How can the clients cope with this 
> gracefully?

Currently, the LoadManager could potentially redirect the client to a dead node.  If the client cannot connect to the group member (e.g. a CORBA::TRANSIENT condition), I believe that the client side ORB should redirect the request back to the previous location, which in this case is the LoadManager.  Once redirected back to the LoadManager, the LoadManager will reassign the client request to another group member.
The same goes for other non-fatal exceptions, such as CORBA::OBJ_ADAPTER and CORBA::NO_RESPONSE.

Fatal exceptions must be handled by the client as they normally would without load balancing.  Fatal exception handling related to dead nodes will be mitigated once the dead node detection support is added to the LoadManager.  However, the client should still be able to handle fatal exceptions with or without load balancing.

We'll try to add support for dead member detection ASAP since the client could potentially be bounced back and forth from and to the LoadManager, respectively, indefinitely if there is only one member in the load balanced object group.

I'll add this discussion to a related bug entry in our BTS here:

	http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1365

Please feel free to add yourself to the CC list on the above bug entry.

-Ossama
--
Ossama Othman <ossama@dre.vanderbilt.edu>


0
iso
4/23/2005 10:45:52 PM
comp.soft-sys.ace 20326 articles. 1 followers. marlow.andrew (167) is leader. Post Follow

1 Replies
3565 Views

Similar Articles

[PageSpeed] 45

Hi Jesper,

On Sat, 2005-04-23 at 22:15 +0200, Jesper S�derlund wrote:
> Would the TAO loadmanager work to load balance between non-TAO orbs?

For the most part, yes, since non-TAO-based applications can simply
access the LoadManager through the interfaces defined in
TAO/orbsvcs/orbsvcs/CosLoadBalancing.idl.

> If not, what would be needed to make them participate as a replica?

Load balancing between non-TAO ORBs when using non-adaptive algorithms
(e.g. Round Robin, Random, etc) is straightfoward.

Load balancing when using adaptive algorithms may require a bit more
support from the app developer depending on the resource being
monitored.  For example, if load balancing decisions will be based on
resources within a process, the app developer must register the
appropriate LoadMonitor object reference with the LoadManager.  Some
TAO-specific convenience LoadMonitors are available in
TAO/orbsvcs/orbsvcs/LoadBalancing.  The LoadMonitor executable in
TAO/orbsvcs/LoadBalancer may be of use, as well.  In any case,
LoadMonitor registration is done through IDL defined interfaces, meaning
interoperability is maximized.

HTH,
-Ossama
-- 
Ossama Othman <ossama@dre.vanderbilt.edu>

0
Ossama
4/25/2005 9:11:25 PM
Reply:

Similar Artilces:

Re: [tao-users] Load Balancing (Was RE: Questions about TAO and CIAO)
Hi Paul, >> > No, it just means that if you use other ORBs they would need to >> > support certain CORBA features, e.g., location forwarding. >> >> This confuses me. I have not yet had time to learn the concepts of load >> balancing very much but I assume there is a server process which mediates >> between clients and server replicas. Actually, TAO's Load Balancing service (called "Cygnus") puts this logic into interceptors on the server side. Please see the papers by myself, Ossama Othman, and/or Jai Balasubramanian at http://www.cs.wustl.edu/~schmidt/resume.html for more info on how Cygnus works. >> The client sends a message to the mediator (the load balancer >> service) then the load balancer determines which replica to send >> the message to based on load (by whatever means). If this is >> correct (and I apologise in advance if it isn't!) then... This isn't exactly how things work, so please read the papers for details. >> If I implement my client in Java I can use JacORB to send a message >> to the load balancer, but the fact remains that the load balancer >> itself is part of TAO. Therefore, I can't use JacORB without TAO >> unless of course, JacORB supports load balancing directly which >> should've been my original question!). With the current scheme you can use JacORB as a client and TAO as the serv...

Re: [tao-users] Load balancing question #2
Hi Jesper, >> Would the TAO loadmanager work to load balance between non-TAO orbs? AFAIK, there's nothing TAO-specific in the TAO Load Balancing service. Therefore, you should be able to use TAO's Load Balancing service with other ORBs. Jai, can you please confirm/deny? Thanks, Doug -- Dr. Douglas C. Schmidt Professor and Associate Chair Electrical Engineering and Computer Science TEL: (615) 343-8197 Institute for Software Integrated Systems WEB: www.dre.vanderbilt.edu/~schmidt Vanderbilt University, Nashville TN, 37203 NET: d.schmidt@vanderbilt.edu ...

Re: [ace-users] Re: [tao-users] Re: difficulties compling TAO with mingw and msys #2
Hi, > > Great, when we get time we will try to upgrade to a newer version of MinGW, > > but it is still a candidate. Just keep an eye on the scoreboard, when we > > upgrade you will see it there. As you can see on the scoreboard, there are > > no issues with the 3.2.3 version > > I have run all but a few of the provided tests, and all looks well. We run all ACE tests, no issues there, we are working on the TAO tests, some of the tests are able to freeze our build system > Out of curiosity, what is required for eliminating the > inline/dlli...

RE: [tao-users] TAO Load Balancing #2
Hi, See cvs.doc.wustl.edu how you can reach the cvs server and there you can see in TAO/ChangeLog what has been changed in overview. Johnny > -----Original Message----- > From: Jasper, Alexander [mailto:alexander.jasper@lineas.de] > Sent: vrijdag 15 juli 2005 10:45 > To: jwillemsen@remedy.nl; tao-users@cs.wustl.edu > Subject: AW: [tao-users] TAO Load Balancing > > Hi, > > thank you for the reply. I think you misunderstood me. > What I'm asking for was basically, if that is supposed to > work on Win32 at all. > I commented out the lines to get it to work locally and to > indicate that in those lines there is a problem. Or would > have found it more helpful, if I had told you file and line > numbers? I doubt it. And it simply was the easiest thing to > do, just to generate the patch file with all fixes at once. > (Ok, I admit commenting out is not a fix in usual sense ;)) > > What kind of changes were done to load balancer? Is the issue > with TRANSIENT exception (see below) resolved? > > Thanks for any answers. > > > kind regards > > Alex > > > > -----Urspr�ngliche Nachricht----- > Von: Johnny Willemsen [mailto:jwillemsen@remedy.nl] > Gesendet: Freitag, 15. Juli 2005 09:44 > An: Jasper, Alexander; tao-users@cs.wustl.edu > Betreff: RE: [tao-users] TAO Load Balancing > > > Hi, > > > I...

[tao-users] Load Balancing (Was RE: Questions about TAO and CIAO)
Hi All, > > My next question is with regard to the Load Balancing service. From the > > website, the load balancer is based on the latest revision of the > > proposed specification, so I understand that to mean there is no > > official OMG load balancing spec as yet. > > I believe that's the case, though I think the OMG is working on this > in a working group. > > > Does that mean that all servers in my system must be written in TAO > > in order to support load-balancing? > > No, it just means that if you use other ORBs they would need to > support certain CORBA features, e.g., location forwarding. This confuses me. I have not yet had time to learn the concepts of load balancing very much but I assume there is a server process which mediates between clients and server replicas. The client sends a message to the mediator (the load balancer service) then the load balancer determines which replica to send the message to based on load (by whatever means). If this is correct (and I apologise in advance if it isn't!) then... If I implement my client in Java I can use JacORB to send a message to the load balancer, but the fact remains that the load balancer itself is part of TAO. Therefore, I can't use JacORB without TAO unless of course, JacORB supports load balancing directly (which should've been my original question!). Thanks, Paul Drummond This e-mail and any att...

[ace-users] RE: [tao-users] Borland Developer Studio 2006 with ACE/TAO #2
Hi, See http://www.remedy.nl/en/borland.html for an overview of the supported Borland products with TAO. Regards, Johnny Willemsen Remedy IT Postbus 101 2650 AC Berkel en Rodenrijs The Netherlands www.theaceorb.nl / www.remedy.nl > -----Original Message----- > From: Espen Harlinn [mailto:espen@harlinn.no] > Sent: donderdag 2 februari 2006 18:06 > To: jwillemsen@remedy.nl > Cc: ace-users@cs.wustl.edu > Subject: RE: [tao-users] Borland Developer Studio 2006 with ACE/TAO > > Hi, > > I'm curious about the current status of ACE/TAO and C++ Builder 2006. > Borland shipped the promised fix/update some time ago, but I > couldn't find > anything about how it works with ACE/TAO. > > Regards > Espen Harlinn > > ...

[ace-users] RE: [tao-users] Borland Developer Studio 2006 with ACE/TAO #2
Hi, The x.4.8 version of ACE/TAO is supported with BCB2006, we have some linker warnings/errors in some configurations, Borland is working on these for Update2, but these are not causing a problem. See ACE_wrappers/ACE-INSTALL.html for info about how to use it. We deliver also commercial support for using BCB2006 with ACE/TAO. See www.theaceorb.nl for our services. Regards, Johnny Willemsen Remedy IT Postbus 101 2650 AC Berkel en Rodenrijs The Netherlands www.theaceorb.nl / www.remedy.nl > -----Original Message----- > From: Espen Harlinn [mailto:espen@harlinn.no] > Sent: donderdag 2 februari 2006 18:06 > To: jwillemsen@remedy.nl > Cc: ace-users@cs.wustl.edu > Subject: RE: [tao-users] Borland Developer Studio 2006 with ACE/TAO > > Hi, > > I'm curious about the current status of ACE/TAO and C++ Builder 2006. > Borland shipped the promised fix/update some time ago, but I > couldn't find > anything about how it works with ACE/TAO. > > Regards > Espen Harlinn > > ...

Re: [ace-users] [tests] : questions about ACE and TAO tests #2
Hi Lloyd, >> I am running the latest ACE+TAO release on a Windows XP platform >> with Windows Visual Studio.NET 2003 Pro. Please be more specific since "latest" doesn't mean anything! Please fill out the appropriate problem report form (PRF), which is in $ACE_ROOT/PROBLEM-REPORT-FORM $TAO_ROOT/PROBLEM-REPORT-FORM since otherwise we have to "guess" what version/platform/compiler/options you've using, which is error-prone and slows down our responsiveness. >> I have built the TAOACE solution >> (after removing the SSL projects and declaring ACEXML a dependency of >> ACEXML_Parser), but I am having problems with the ACE and TAO tests. >> >> The ACE tests don't generate any output when the EXE files are run (in a >> DOS box). >> >> When I open the TAO test workspace and convert the projects, I get a lot >> of "The project XXX cannot be added to the current solution because a >> project with the same name or project filename already exists in the >> solution." >> >> Certain projects (like Param_Test) are not appearing in the TAO_tests >> solution. Is the TAO_tests workspace supposed to have all the TAO tests? Jeff, can you please address this? >> Is there any doumentation about the tests? I didn't see any in the >> Doxygen files or on the ACE website. Please see $ACE_ROOT/tests/R...

RE: [ace-users] [tests] : questions about ACE and TAO tests #2
Hi Lloyd, > I am running the latest ACE+TAO release on a Windows XP platform with > Windows Visual Studio.NET 2003 Pro. I have built the TAOACE solution > (after removing the SSL projects and declaring ACEXML a dependency of > ACEXML_Parser), but I am having problems with the ACE and TAO tests. > > The ACE tests don't generate any output when the EXE files > are run (in a DOS box). The tests themselves record all their output in $ACE_ROOT/tests/log. If you cd to $ACE_ROOT/tests, insure that $ACE_ROOT/lib is in your PATH, and run run_test.pl, you should get output. > When I open the TAO test workspace and convert the projects, > I get a lot > of "The project XXX cannot be added to the current solution because a > project with the same name or project filename already exists in the > solution." > > Certain projects (like Param_Test) are not appearing in the TAO_tests > solution. Is the TAO_tests workspace supposed to have all the > TAO tests? I'm not sure about TAO... Maybe someone who knows TAO will have more information. > Is there any doumentation about the tests? I didn't see any in the > Doxygen files or on the ACE website. There should be something in $ACE_ROOT/ACE-INSTALL.html. Best regards, -Steve -- Steve Huston, Riverace Corporation New! ACE Training - http://www.riverace.com/training.htm ACE book info at http://www.riverace.com/acebo...

RE: [ace-users] [tests] : questions about ACE and TAO tests #2
I am running the latest ACE+TAO release on a Windows XP platform with Windows Visual Studio.NET 2003 Pro. I have built the TAOACE solution (after removing the SSL projects and declaring ACEXML a dependency of ACEXML_Parser), but I am having problems with the ACE and TAO tests. The ACE tests don't generate any output when the EXE files are run (in a DOS box). When I open the TAO test workspace and convert the projects, I get a lot of "The project XXX cannot be added to the current solution because a project with the same name or project filename already exists in the solution." Certain projects (like Param_Test) are not appearing in the TAO_tests solution. Is the TAO_tests workspace supposed to have all the TAO tests? Is there any doumentation about the tests? I didn't see any in the Doxygen files or on the ACE website. -Thanks! Lloyd Matthews ...

[tao-users] RE: [ace-users] Re: How to use Any>>=OctetSeq in TAO 1.3.6? #2
Hi, > > Heiko, could you try to add TAO_Export to front of the operators in > > OctetSeqA.h and then rebuild TAO and you app. I think the linker > > errors should be gone. > > this is the solution! Thank you :-) Thanks for the feedback. I have just committed the fix into the repo and this will be in the 1.4 release. Regards, Johnny Willemsen Remedy IT Leeghwaterstraat 25 2811 DT Reeuwijk The Netherlands www.theaceorb.nl / www.remedy.nl ...

[tao-users] Re: Correct order to load ACE/TAO libraries in vxWorks #2
Hi, Because you are using the OCI distribution contact support@ociweb.com. The doc_group version now also works with VxWorks. See http://deuce.doc.wustl.edu/Download.html for downloading x.4.5 under the heading latest beta kit. See www.theaceorb.nl for our effort to get VxWorks up to date again. Regards, Johnny Willemsen Remedy IT Postbus 101 2650 AC Berkel en Rodenrijs The Netherlands www.theaceorb.nl / www.remedy.nl <sieg1974@yahoo.com> wrote in message news:<1118084189.163440.26880@g49g2000cwa.googlegroups.com>... > Hi Jonny and Thomas, > > Thanks for the quick replay. > I worked a bit more in this problems, and found out the following > details. > Any suggestions? > > Thanks, > > Andre > > > TAO VERSION: 1.3a-OCI > ACE VERSION: 5.3a-OCI > > HOST MACHINE and OPERATING SYSTEM: > If on Windows based OS's, which version of WINSOCK do you > use?: > > Windows XP and WINSOCK version 2 > > TARGET MACHINE and OPERATING SYSTEM, if different from HOST: > COMPILER NAME AND VERSION (AND PATCHLEVEL): > > PPC405 > VxWorks version 5.5.1. > Kernel: WIND version 2.6. > > AREA/CLASS/EXAMPLE AFFECTED: > [What example failed? What module failed to compile?] > > DOES THE PROBLEM AFFECT: > COMPILATION? Yes > LINKING? Yes > EXECUTI...

Re: [tao-users] Question about some tests in TAO #2 #2
Hi Abhi, > Guess I need to re-read chapter 3 of NPv2 to clear my concepts on > Reactor & concurrency ( and how they differ). While it's useful to read this chapter it's not going to shed any light on the question you asked since this is really more of a TAO configuration issue than an ACE Reactor issue. > Any other docs you would recommend? I recommend that you read the dicsussion of the various TAO run-time options that are available at TAO_ROOT/docs/configurations.html TAO_ROOT/docs/Options.html which are also described in the OCI TAO 1.3 Developer's Guide &...

RE: [tao-users] Load balancing question
Thanks, it seem that the algorithm, or at least how it's interacting with the standard CORBA behavior seems quite reasonable. I didn't think of the fact that if the client ORB receives a TRANSIENT it would go to the load manager for a second try and if you add awareness to the load manager that the same dead replica is not used it would definitly be good enough! Thanks, /Jesper -----Original Message----- From: Ossama Othman [mailto:ossama@dre.vanderbilt.edu] Sent: den 23 april 2005 20:08 To: Jesper S�derlund Cc: tao-users@cse.wustl.edu Subject: Re: [tao-users] Load balancing question Hi Jesper, Sorry for the delay. On Mon, 2005-04-11 at 22:12 +0200, Jesper S�derlund wrote: > The load balancing algorithm implemented by TAO, how does it cope with > the disapearance of a replica? It currently does not. The LoadManager currently assumes that all group members are reachable. However, it should be relatively straightforward to implement a simple heartbeat/ping mechanism that is configurable at run-time through the PortableGroup PropertyManager interface. > Would it not, until it itself found out that the replica was gone, > redirect clients to a "dead" node? How can the clients cope with this > gracefully? Currently, the LoadManager could potentially redirect the client to a dead node. If the client cannot connect to the group member (e.g. a CORBA::TRANSIENT condition), I believe that the client side ORB ...

Re: [ace-users] Re: ACE/TAO corba: 4 questions
Dr. Schmidt- > >> 1. I have to switch to bidirectional connection model because > >> clients behind NAT/firewall can not be called back by server. I do > >> not really know how to change my application to use bidirectional > >> TCP connections. Do I have to add some ORB parameter for > >> client/server? Do I have to change client/server source code or > >> something else? > > Please see > > $TAO_ROOT/tests/BiDirectional/ > $TAO_ROOT/tests/BiDirectional_MultipleORB/ > $TAO_ROOT/tests/BiDirectional_NestedUpca...

[tao-users] RE: [ace-users] Linking Errors. #2 #2
Hi, Remove the following line from your makefile: $OPTIONS = -DACE_BUILD_DLL -DTAO_FTRTEVENT_BUILD_DLL The ACE_BUILD_DLL must only be set when you build the ACE dll, the TAO_FTRTEVENT_BUILD_DLL should only be set when you build the FTRTEVENT dll. Johnny > Hi Kitty, > > > The above errors doesn't make sense. Please make sure you > have the correct > > settings for LD_LIBRARY_PATH etc. BTW, which Makefiles are > you using ? The > > ones shipped with ACE/TAO or generated from MPC or ??? > > > > I am using my own Makefile. (I have listed eac...

Re: [tao-users] Re: ACE/TAO call back problem #2
This is a multipart message in MIME format. --=_alternative 0025F9B5C1256F63_= Content-Type: text/plain; charset="us-ascii" I had a similar problem a long time ago :-). In my case, the IOR passed by the client to the server contained a hostname which was unknown in the server. We did not use a DNS. The server used a hosts file. In our case, using ORBDottedDecimalAddresses 1 was the solution. Best wishes --=_alternative 0025F9B5C1256F63_= Content-Type: text/html; charset="us-ascii" <br><font size=2 face="sans-serif">I had a similar p...

[tao-users] RE: [ace-users] Error in $TAO_ROOT/tao on Cygwin #2
Hi, > You suggested that I check if the > ACE_Wchar_Codeset_Translator is linked > into the ACE lib. > What I find is that the file in which WChar_Codeset_Translator is > defined, CDR_Stream.h, is > in the ACE lib and other classes defined in that file, such as > ACE_OutputCDR are linked into > the ACE lib but WChar_Codeset_Translator is not. > In fact, > > nm libACE.a | grep Translator > yields nothing. > > Since this step wasn't a problem in version x.4.1 I compared > CDR_Stream.h in the two > versions but nothing ju...

[tao-users] RE: [ace-users] Error in $TAO_ROOT/tao on Cygwin #2
Hi, Thanks for the info, but I doubt this is a good change. At the moment I have sponsoring for improving the Cywin support we will setup a static build and monitor the status daily. Johnny > -----Original Message----- > From: Daniella Malin [mailto:daniella@lmtgtm.org] > Sent: donderdag 7 oktober 2004 17:13 > To: Johnny Willemsen > Cc: 'Daniella Malin'; 'Russ Leach'; 'Tao-Users' > Subject: Re: [ace-users] Error in $TAO_ROOT/tao on Cygwin > > Comments below > > Johnny Willemsen wrote: > > >Hi, > > ...

RE: [tao-users] Re: [ace-users] Re: Announcing the release of the new beta (ACE-5.4.10, TAO-1.4.10 and CIAO-0.4.10)
Hi, > > >> We encourage you to download the new beta, use it with your > > >> applications, and let us know soon if you encounter any problems > > >> since we plan to cut the x.5 release by February 28th. > > > > As per Wallace's comments, we have an aggressive schedule > for the x.5 > > release to meet the needs of some major sponsors. If > people can give > > x.4.10 a "test drive" in the next couple of days and report problems > > they encounter we'll try to ensure that we fix any > showstoppers before > > According to bugzilla bug 2323 is not fixed yet. > > http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=2323 > > For us it is a show stopper. We use the OCI version which does not > have problems related to this bug but it would be nice to be able to > use the latest version with more fixes. FYI, the reason that this test now fails is because Ossama added several new test cases which wheren't in the test in the past, this uncovered some bugs which according to our information where already there a long time. Johnny "Johnny Willemsen" <jwillemsen@remedy.nl> writes: > > > >> We encourage you to download the new beta, use it with your > > > >> applications, and let us know soon if you encounter any problems > > > >> sinc...

RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues #2
Hi Jeff, [....]� struct foo { � long one; � octet two; � long three; }; � > there will indeed be 4 total bytes used for the octet, since the type that follows > it must be aligned to a 4-byte boundary, and we know that the octet marshaling > started on a 4-byte boundary because of the previous member. However this is > not always the case. So if the struct were: struct foo { long one; octet two; } Then will "two" be 1/4 bytes? I think it will be 1 and always 1. It is while marshaling the long that the ACE_CDR's current alignment is checked to add the appropriate padding to get it to a four byte boundary right? Am I right and is that what you are saying? Thanks, Arvind ...

RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues #2
This is a multi-part message in MIME format. ------=_NextPart_000_0006_01C60BE3.C29DC8C0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, The padding added after marshalin an octet depends on what comes next in the stream. For this struct foo { long one; octet two; long three; }; there will indeed be 4 total bytes used for the octet, since the type that follows it must be aligned to a 4-byte boundary, and we know that the octet marshaling started on a 4-byte boundary because of the previous member. However this is not always the case. For example, struct bar { long one; octet two; octet three; octet four; octet five; long six; }; will use just 1 byte for each octet, since by the time we get to 'six', we are already aligned to a 4-byte boundary, so no additional padding is necessary. Jeff _____ From: owner-tao-users@cse.wustl.edu [mailto:owner-tao-users@cse.wustl.edu] On Behalf Of Johnny Willemsen Sent: Wednesday, December 28, 2005 1:08 PM To: Krishna, Arvind; Kobi Cohen-Arazi; tao-users@cs.wustl.edu Subject: RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues Hi, If you marshal a corba sequence of octet then instead of the normal << and >> for each element the methods write_octet_array and read_octet_array on the stream are used, in fact, all corba sequences of basic types to use array metho...

RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues #2
Hi, If you marshal a corba sequence of octet then instead of the normal << and >> for each element the methods write_octet_array and read_octet_array on the stream are used, in fact, all corba sequences of basic types to use array methods on the cdr stream. If you handle your own cdr streaming you can of course use these methods also. Regards, Johnny Willemsen Remedy IT Postbus 101 2650 AC Berkel en Rodenrijs The Netherlands www.theaceorb.nl / www.remedy.nl > -----Original Message----- > From: owner-ace-users@cse.wustl.edu > [mailto:owner-ace-users@cse.wustl.edu] On Behalf Of Krishna, Arvind > Sent: woensdag 28 december 2005 19:55 > To: Kobi Cohen-Arazi; ace-users@cs.wustl.edu; tao-users@cs.wustl.edu > Subject: [ace-users] RE: [tao-users] Octet > Marshaling/Demarshaling issues > > > Hi Kobi, > > >It takes 4 bytes to marshal a single Octet. However, when > marshaling an > array of Octet, it takes a single byte for >every element in > the array. > It seems that Octet is an exception comparing the rest of > primitive data > types. What is >the motivation for that? Is it dictated by an > OMG spec? > > I think you might be seeing a type promotion from octet to > long. I just > checked and ACE_CDR provides a read_octet and write_octet methods for > reading/writing octets. However, if you use the insertion/extraction > operator t...

RE: [ace-users] RE: [tao-users] Octet Marshaling/Demarshaling issues #2
Prof Schmidt, > Right, but Kobi's point (which I believe is correct) is that an octet > is *encoded* into 4 bytes. The original motivation for this was to > maximize performance on RISC machines, where the alignment was > traditionally 32 bit boundaries. I don't think there is any alignment or padding required for an octet unlike a long. This is what I see in the ACE_CDR (de) marshaling operations. I think you can encode the octet directly into CDR_Stream occupying 1 byte in size. This can be done (as I understand) by: .. write_octet defined on ACE_OutputCDR or .. using the from_octet helper struct Thanks, Arvind ...

Web resources about - RE: [tao-users] Load balancing question #2 - comp.soft-sys.ace

Resources last updated: 3/5/2016 4:41:29 PM