[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r19128 - gnunet/src/stream
From: |
gnunet |
Subject: |
[GNUnet-SVN] r19128 - gnunet/src/stream |
Date: |
Fri, 13 Jan 2012 22:33:48 +0100 |
Author: harsha
Date: 2012-01-13 22:33:47 +0100 (Fri, 13 Jan 2012)
New Revision: 19128
Modified:
gnunet/src/stream/test_stream_local.c
Log:
added shutdown call in testcase
Modified: gnunet/src/stream/test_stream_local.c
===================================================================
--- gnunet/src/stream/test_stream_local.c 2012-01-13 21:33:17 UTC (rev
19127)
+++ gnunet/src/stream/test_stream_local.c 2012-01-13 21:33:47 UTC (rev
19128)
@@ -25,6 +25,7 @@
*/
#include <string.h>
+#include <sys/socket.h> /* For SHUT_RD, SHUT_WR */
#include "platform.h"
#include "gnunet_util_lib.h"
@@ -46,8 +47,8 @@
static GNUNET_STREAM_IOHandle *peer2_IOHandle;
static char *data = "ABCD";
-static unsigned int *data_pointer;
-static unsigned int *read_pointer;
+static unsigned int data_pointer;
+static unsigned int read_pointer;
static int result
static int test1_success_counter;
@@ -59,6 +60,8 @@
static void
do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
+ GNUNET_STREAM_close (peer1_socket);
+ GNUNET_STREAM_close (peer2_socket);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "test: shutdown\n");
if (0 != abort_task)
{
@@ -108,12 +111,22 @@
enum GNUNET_STREAM_Status status,
size_t size)
{
+
+ if (3 == test1_success_counter) /* Called for peer2's write operation */
+ {
+ /* peer1 has shutdown reading */
+ GNUNET_assert (GNUNET_STREAM_SHUTDOWN == status);
+ GNUNET_assert (0 == size);
+ test1_success_counter ++;
+
+ GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
+ }
GNUNET_assert (GNUNET_STREAM_OK == status);
if (data_pointer + size != strlen(data)) /* Have more data to send */
{
data_pointer += size;
peer1_IOHandle = GNUNET_STREAM_write (peer1_socket,
- (void *) data_pointer,
+ (void *) data,
strlen(data) - data_pointer,
GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_SECONDS, 5),
@@ -122,12 +135,8 @@
GNUNET_assert (NULL != peer1_IOHandle);
}
else{ /* Close peer1 socket */
- GNUNET_STREAM_close (peer1_socket);
test1_success_counter++;
- if (2 == test1_success_counter)
- {
- GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
- }
+ GNUNET_STREAM_shutdown (peer1_socket, SHUT_RDWR);
}
}
@@ -173,6 +182,25 @@
const void *input_data,
size_t size)
{
+
+ if (2 == test1_success_counter)
+ {
+ GNUNET_assert (GNUNET_STREAM_SHUTDOWN == status);
+ GNUNET_assert (0 == size);
+ test1_success_counter ++;
+ /* Now this should result in STREAM_SHUTDOWN */
+ peer2_IOHandle = GNUNET_STREAM_write (peer2_socket,
+ (void *) data,
+ strlen(data),
+ GNUNET_TIME_relative_multiply
+ (GNUNET_TIME_UNIT_SECONDS, 5),
+ &write_completion,
+ (void *) peer2_socket);
+
+ return 0;
+ }
+
+ GNUNET_assert (GNUNET_STERAM_OK == status);
GNUNET_assert (size < strlen (data));
GNUNET_assert (strncmp ((const char *) data,
(const char *) input_data,
@@ -181,20 +209,23 @@
if (read_pointer < strlen (data))
{
- peer2_IOHandle = GNUNET_STREAM_read ((struct GNUNET_STREAM_Socket) cls,
+ peer2_IOHandle = GNUNET_STREAM_read ((struct GNUNET_STREAM_Socket *) cls,
GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_SECONDS, 5),
&input_processor,
NULL);
GNUNET_assert (NULL != peer2_IOHandle);
}
- else { /* Close peer2 socket */
- GNUNET_STREAM_close (peer2_socket);
+ else {
test1_success_counter ++;
- if (2 == test1_success_counter)
- {
- GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
- }
+ /* This time should the read status should be STERAM_SHUTDOWN */
+ peer2_IOHandle = GNUNET_STREAM_read ((struct GNUNET_STREAM_Socket *) cls,
+ GNUNET_TIME_relative_multiply
+ (GNUNET_TIME_UNIT_SECONDS, 5),
+ &input_processor,
+ NULL);
+
+
}
return size;
@@ -211,7 +242,7 @@
GNUNET_assert (NULL != cls);
read_pointer = 0;
GNUNET_STREAM_listen_close (peer2_listen_socket); /* Close listen socket */
- peer2_IOHandle = GNUNET_STREAM_read ((struct GNUNET_STREAM_Socket) cls,
+ peer2_IOHandle = GNUNET_STREAM_read ((struct GNUNET_STREAM_Socket *) cls,
GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_SECONDS, 5),
&input_processor,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r19128 - gnunet/src/stream,
gnunet <=