[Spread-cvs] commit: r409 - trunk/examples
jonathan at spread.org
jonathan at spread.org
Fri May 1 11:15:14 EDT 2009
Author: jonathan
Date: 2009-05-01 11:15:13 -0400 (Fri, 01 May 2009)
New Revision: 409
Modified:
trunk/examples/user.c
Log:
Add command to send a multiline message using the test client spuser.
Modified: trunk/examples/user.c
===================================================================
--- trunk/examples/user.c 2009-01-22 23:30:20 UTC (rev 408)
+++ trunk/examples/user.c 2009-05-01 15:15:13 UTC (rev 409)
@@ -279,6 +279,44 @@
break;
+ case 'm':
+ num_groups = sscanf(&command[2], "%s%s%s%s%s%s%s%s%s%s",
+ groups[0], groups[1], groups[2], groups[3], groups[4],
+ groups[5], groups[6], groups[7], groups[8], groups[9] );
+ if( num_groups < 1 )
+ {
+ printf(" invalid group \n");
+ break;
+ }
+ printf("enter message: ");
+ mess_len = 0;
+ while ( mess_len < MAX_MESSLEN) {
+ if (fgets(&mess[mess_len], 200, stdin) == NULL)
+ Bye();
+ if (mess[mess_len] == '\n')
+ break;
+ mess_len += strlen( &mess[mess_len] );
+ }
+#ifdef _REENTRANT
+#ifdef __bsdi__ /* bsdi bug - doing a close when another thread blocks on the socket causes a seg fault */
+ ret = send( Mbox, mess, 0, 0 );
+ if( ret < 0 )
+ {
+ SP_error( CONNECTION_CLOSED );
+ Bye();
+ }
+#endif /* __bsdi__ */
+#endif /* _REENTRANT */
+ ret= SP_multigroup_multicast( Mbox, SAFE_MESS, num_groups, (const char (*)[MAX_GROUP_NAME]) groups, 1, mess_len, mess );
+ if( ret < 0 )
+ {
+ SP_error( ret );
+ Bye();
+ }
+ Num_sent++;
+
+ break;
+
case 'b':
ret=sscanf( &command[2], "%s", group );
if( ret != 1 ) strcpy( group, "dummy_group_name" );
@@ -364,6 +402,7 @@
printf("\tl <group> -- leave a group\n");
printf("\n");
printf("\ts <group> -- send a message\n");
+ printf("\tm <group> -- send a multiline message to group. Terminate with empty line\n");
printf("\tb <group> -- send a burst of messages\n");
printf("\n");
#ifndef _REENTRANT
More information about the Spread-cvs
mailing list