oneway void procedure calls



I'm using RedHat Advanced Server 4.0, and I'm trying to implement an ORBit2 server that only accepts and processes requests without return values.  In other words, I want to enforce one-way communication.  I wanted to use "oneway void" to accomplish this.  However, I have found that there is a point at which the server starts to loose packets (requests) if I increase the procedure call rate. This doesn't happen if I have procedure calls that return a long or some other data type.  My interface looks like this:
 
interface EHcontrolEvents
{
    oneway void ctrl_event ( in long seq, in long prio, in long type, in long len, in string msg);
};
 
And the client is calling this procedure like this:
 
 for( seq  = 0; seq < 1000 ; seq++ )
 { 
  prio = 0;
  type = 1;
  len = strlen(ctrlMsg);
     rv = EHcontrolEvents_ctrl_event(service, seq, prio, type, len, ctrlMsg, ev);
      fprintf(stderr, "%d\n", rv);
     if (etk_raised_exception (ev))
     {
      fprintf(stderr, "Exception Raised!!\n");
      return;
     }
     else
     {
      printf("%d, %d, %d, %d, %s\n",
       seq, prio, type, len, ctrlMsg);           
         printf("RETURN: %d\n", rv);
         fflush(stdout);
     }
 }
}
 
Is this a UNIX socket buffer problem, or should I change something in my IDL?  Thanks in advance.
 
---
Best Regards,
Brendan Jacobs
 
 


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