[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r6590 - GNUnet/src/applications/chat
From: |
gnunet |
Subject: |
[GNUnet-SVN] r6590 - GNUnet/src/applications/chat |
Date: |
Fri, 21 Mar 2008 17:44:02 -0600 (MDT) |
Author: nevans
Date: 2008-03-21 17:44:00 -0600 (Fri, 21 Mar 2008)
New Revision: 6590
Modified:
GNUnet/src/applications/chat/chat.c
GNUnet/src/applications/chat/chat.h
GNUnet/src/applications/chat/clientapi.c
GNUnet/src/applications/chat/gnunet-chat.c
Log:
ran pre-commit this time
Modified: GNUnet/src/applications/chat/chat.c
===================================================================
--- GNUnet/src/applications/chat/chat.c 2008-03-21 23:38:41 UTC (rev 6589)
+++ GNUnet/src/applications/chat/chat.c 2008-03-21 23:44:00 UTC (rev 6590)
@@ -58,42 +58,52 @@
static void *
update_client_thread (void *cls)
{
- struct GNUNET_CS_chat_client *pos;
- struct GNUNET_CS_chat_client *compare_pos;
- CS_chat_ROOM_MEMBER_MESSAGE *message;
- int message_size;
-
- while(shutdown_flag != GNUNET_YES)
- {
- fprintf(stderr,"Checking room members\n");
- pos = client_list_head;
- while(pos != NULL)
- {
- compare_pos = client_list_head;
- while(compare_pos != NULL)
- {
-
if(memcmp(&pos->room_name_hash,&compare_pos->room_name_hash,sizeof(GNUNET_HashCode))
== 0)
- {
- /*Send nick to this client, so it knows
who is in the same room! (Including itself...)*/
- fprintf(stderr,"Found matching member
%s length is %d\n",compare_pos->nick,strlen(compare_pos->nick));
-
- message_size =
sizeof(CS_chat_ROOM_MEMBER_MESSAGE) + strlen(compare_pos->nick);
- message = GNUNET_malloc(message_size);
- message->header.size =
htons(message_size);
- message->header.type =
htons(GNUNET_CS_PROTO_CHAT_ROOM_MEMBER_MESSAGE);
- message->nick_len =
htons(strlen(compare_pos->nick));
-
memcpy(&message->nick[0],compare_pos->nick,strlen(compare_pos->nick));
-
- coreAPI->cs_send_to_client
(pos->client,&message->header,GNUNET_YES);
- }
- compare_pos = compare_pos->next;
- }
- pos = pos->next;
- }
- if(shutdown_flag == GNUNET_NO)
- GNUNET_thread_sleep(30 * GNUNET_CRON_SECONDS);
- }
- return NULL;
+ struct GNUNET_CS_chat_client *pos;
+ struct GNUNET_CS_chat_client *compare_pos;
+ CS_chat_ROOM_MEMBER_MESSAGE *message;
+ int message_size;
+
+ while (shutdown_flag != GNUNET_YES)
+ {
+ fprintf (stderr, "Checking room members\n");
+ pos = client_list_head;
+ GNUNET_mutex_lock (chatMutex);
+ while (pos != NULL)
+ {
+ compare_pos = client_list_head;
+ while (compare_pos != NULL)
+ {
+ if (memcmp
+ (&pos->room_name_hash, &compare_pos->room_name_hash,
+ sizeof (GNUNET_HashCode)) == 0)
+ {
+ /*Send nick to this client, so it knows who is in the same
room! (Including itself...) */
+ fprintf (stderr, "Found matching member %s length is %d\n",
+ compare_pos->nick, strlen (compare_pos->nick));
+
+ message_size =
+ sizeof (CS_chat_ROOM_MEMBER_MESSAGE) +
+ strlen (compare_pos->nick);
+ message = GNUNET_malloc (message_size);
+ message->header.size = htons (message_size);
+ message->header.type =
+ htons (GNUNET_CS_PROTO_CHAT_ROOM_MEMBER_MESSAGE);
+ message->nick_len = htons (strlen (compare_pos->nick));
+ memcpy (&message->nick[0], compare_pos->nick,
+ strlen (compare_pos->nick));
+
+ coreAPI->cs_send_to_client (pos->client, &message->header,
+ GNUNET_YES);
+ }
+ compare_pos = compare_pos->next;
+ }
+ pos = pos->next;
+ }
+ GNUNET_mutex_unlock (chatMutex);
+ if (shutdown_flag == GNUNET_NO)
+ GNUNET_thread_sleep (30 * GNUNET_CRON_SECONDS);
+ }
+ return NULL;
}
static int
@@ -274,11 +284,11 @@
client_list_head->prev = tempClient;
client_list_head = tempClient;
tempClient->client = client;
- tempClient->nick = GNUNET_malloc(nick_len + 1);
+ tempClient->nick = GNUNET_malloc (nick_len + 1);
memcpy (&tempClient->room_name_hash, &room_name_hash,
sizeof (GNUNET_HashCode));
- memcpy (tempClient->nick, nick,nick_len + 1);
-
+ memcpy (tempClient->nick, nick, nick_len + 1);
+
tempCount = 0;
while (tempClient != NULL)
@@ -317,8 +327,8 @@
"Received leave chat room message from client.\n");
GNUNET_mutex_lock (chatMutex);
-
-
+
+
pos = client_list_head;
prev = NULL;
found = GNUNET_NO;
@@ -330,9 +340,9 @@
}
if (pos != NULL)
{
- found = GNUNET_YES;
- nick_to_remove = GNUNET_malloc(strlen(pos->nick));
- strcpy(nick_to_remove,pos->nick);
+ found = GNUNET_YES;
+ nick_to_remove = GNUNET_malloc (strlen (pos->nick));
+ strcpy (nick_to_remove, pos->nick);
if (prev == NULL)
client_list_head = pos->next;
else
@@ -352,28 +362,31 @@
}
fprintf (stderr, "Number of clients currently is... %d\n", tempCount);
/*End of client count code */
-
- /*Send remove member message here*/
- if(found == GNUNET_YES)
- {
- message_size = sizeof(CS_chat_ROOM_MEMBER_MESSAGE) +
strlen(nick_to_remove);
- message = GNUNET_malloc(message_size);
- message->header.size = htons(message_size);
- message->header.type =
htons(GNUNET_CS_PROTO_CHAT_ROOM_MEMBER_LEAVE_MESSAGE);
- message->nick_len = htons(strlen(nick_to_remove));
-
memcpy(&message->nick[0],nick_to_remove,strlen(nick_to_remove));
-
- pos = client_list_head;
- while (pos != NULL)
- {
- coreAPI->cs_send_to_client
(pos->client,&message->header,GNUNET_YES);
- pos = pos->next;
- }
-
- GNUNET_free(message);
- GNUNET_free(nick_to_remove);
-
- }
+
+ /*Send remove member message here */
+ if (found == GNUNET_YES)
+ {
+ message_size =
+ sizeof (CS_chat_ROOM_MEMBER_MESSAGE) + strlen (nick_to_remove);
+ message = GNUNET_malloc (message_size);
+ message->header.size = htons (message_size);
+ message->header.type =
+ htons (GNUNET_CS_PROTO_CHAT_ROOM_MEMBER_LEAVE_MESSAGE);
+ message->nick_len = htons (strlen (nick_to_remove));
+ memcpy (&message->nick[0], nick_to_remove, strlen (nick_to_remove));
+
+ pos = client_list_head;
+ while (pos != NULL)
+ {
+ coreAPI->cs_send_to_client (pos->client, &message->header,
+ GNUNET_YES);
+ pos = pos->next;
+ }
+
+ GNUNET_free (message);
+ GNUNET_free (nick_to_remove);
+
+ }
GNUNET_mutex_unlock (chatMutex);
return;
}
@@ -387,7 +400,7 @@
chatMutex = GNUNET_mutex_create (GNUNET_NO);
coreAPI = capi;
- GNUNET_thread_create(&update_client_thread,NULL,1024 * 128); /* What's a
good stack size? */
+ GNUNET_thread_create (&update_client_thread, NULL, 1024 * 128); /*
What's a good stack size? */
GNUNET_GE_LOG (ectx, GNUNET_GE_DEBUG | GNUNET_GE_REQUEST | GNUNET_GE_USER,
_("`%s' registering handlers %d and %d\n"),
"chat", GNUNET_P2P_PROTO_CHAT_MSG, GNUNET_CS_PROTO_CHAT_MSG);
@@ -421,7 +434,7 @@
void
done_module_chat ()
{
- shutdown_flag = GNUNET_YES;
+ shutdown_flag = GNUNET_YES;
/*coreAPI->unregisterHandler (GNUNET_P2P_PROTO_CHAT_MSG, &handleChatMSG); */
coreAPI->cs_exit_handler_unregister (&chatClientExitHandler);
coreAPI->unregisterClientHandler (GNUNET_CS_PROTO_CHAT_MSG,
Modified: GNUnet/src/applications/chat/chat.h
===================================================================
--- GNUnet/src/applications/chat/chat.h 2008-03-21 23:38:41 UTC (rev 6589)
+++ GNUnet/src/applications/chat/chat.h 2008-03-21 23:44:00 UTC (rev 6590)
@@ -84,9 +84,9 @@
char *memberInfo;
GNUNET_CHAT_MessageCallback callback;
-
+
GNUNET_CHAT_MemberListCallback member_list_callback;
-
+
GNUNET_CHAT_MemberRemoveCallback member_remove_callback;
int shutdown_flag;
@@ -94,7 +94,7 @@
void *callback_cls;
void *member_list_callback_cls;
-
+
void *member_remove_callback_cls;
};
Modified: GNUnet/src/applications/chat/clientapi.c
===================================================================
--- GNUnet/src/applications/chat/clientapi.c 2008-03-21 23:38:41 UTC (rev
6589)
+++ GNUnet/src/applications/chat/clientapi.c 2008-03-21 23:44:00 UTC (rev
6590)
@@ -54,8 +54,7 @@
disconnected = GNUNET_NO;
ret = GNUNET_OK;
- while ( (ret == GNUNET_OK) &&
- (room->shutdown_flag != GNUNET_YES) )
+ while ((ret == GNUNET_OK) && (room->shutdown_flag != GNUNET_YES))
{
if (disconnected)
{
@@ -79,8 +78,10 @@
}
if (((reply->size < ntohs (sizeof (CS_chat_MESSAGE)))
- || (reply->type != ntohs (GNUNET_CS_PROTO_CHAT_MSG))) &&
((reply->size < ntohs (sizeof (CS_chat_ROOM_MEMBER_MESSAGE)))
- || (reply->type != ntohs
(GNUNET_CS_PROTO_CHAT_ROOM_MEMBER_MESSAGE))))
+ || (reply->type != ntohs (GNUNET_CS_PROTO_CHAT_MSG)))
+ && ((reply->size < ntohs (sizeof (CS_chat_ROOM_MEMBER_MESSAGE)))
+ || (reply->type !=
+ ntohs (GNUNET_CS_PROTO_CHAT_ROOM_MEMBER_MESSAGE))))
{
GNUNET_GE_BREAK (NULL, 0);
GNUNET_client_connection_close_temporarily (room->sock);
@@ -88,63 +89,66 @@
continue;
}
if (reply->type == ntohs (GNUNET_CS_PROTO_CHAT_ROOM_MEMBER_MESSAGE))
- {
- size = ntohs (reply->size);
- received_room_member_msg = (CS_chat_ROOM_MEMBER_MESSAGE *) reply;
- nick_len = ntohs (received_room_member_msg->nick_len);
-
- if (size < nick_len)
- {
- GNUNET_GE_BREAK (NULL, 0);
- GNUNET_client_connection_close_temporarily (room->sock);
- disconnected = GNUNET_YES;
- continue;
- }
- nick = GNUNET_malloc (nick_len + 1);
- memcpy (nick, &received_room_member_msg->nick[0], nick_len);
- nick[nick_len] = '\0';
-
- if (GNUNET_OK != room->member_list_callback
(room->member_list_callback_cls, nick, GNUNET_get_time ()))
- {
- GNUNET_GE_BREAK (NULL, 0);
- GNUNET_client_connection_close_temporarily (room->sock);
- disconnected = GNUNET_YES;
- continue;
- }
- }
+ {
+ size = ntohs (reply->size);
+ received_room_member_msg = (CS_chat_ROOM_MEMBER_MESSAGE *) reply;
+ nick_len = ntohs (received_room_member_msg->nick_len);
+
+ if (size < nick_len)
+ {
+ GNUNET_GE_BREAK (NULL, 0);
+ GNUNET_client_connection_close_temporarily (room->sock);
+ disconnected = GNUNET_YES;
+ continue;
+ }
+ nick = GNUNET_malloc (nick_len + 1);
+ memcpy (nick, &received_room_member_msg->nick[0], nick_len);
+ nick[nick_len] = '\0';
+
+ if (GNUNET_OK !=
+ room->member_list_callback (room->member_list_callback_cls,
+ nick, GNUNET_get_time ()))
+ {
+ GNUNET_GE_BREAK (NULL, 0);
+ GNUNET_client_connection_close_temporarily (room->sock);
+ disconnected = GNUNET_YES;
+ continue;
+ }
+ }
else
- {
- size = ntohs (reply->size);
- received_msg = (CS_chat_MESSAGE *) reply;
- nick_len = ntohs (received_msg->nick_len);
- msg_len = ntohs (received_msg->msg_len);
- /* NO NEED TO SEND ROOM! */
- room_name_len = size - nick_len - msg_len - sizeof
(CS_chat_MESSAGE);
- if (size < (nick_len + msg_len + room_name_len))
- {
- GNUNET_GE_BREAK (NULL, 0);
- GNUNET_client_connection_close_temporarily (room->sock);
- disconnected = GNUNET_YES;
- continue;
- }
- nick = GNUNET_malloc (nick_len + 1);
- memcpy (nick, &received_msg->nick[0], nick_len);
- nick[nick_len] = '\0';
- message_content = GNUNET_malloc (msg_len + 1);
- memcpy (message_content, &received_msg->nick[nick_len], msg_len);
- message_content[msg_len] = '\0';
- if (GNUNET_OK !=
- room->callback (room->callback_cls, room, nick,
message_content,
- GNUNET_get_time (), 0))
- {
- GNUNET_GE_BREAK (NULL, 0);
- GNUNET_client_connection_close_temporarily (room->sock);
- disconnected = GNUNET_YES;
- continue;
- }
- GNUNET_free(message_content);
- }
- GNUNET_free(nick);
+ {
+ size = ntohs (reply->size);
+ received_msg = (CS_chat_MESSAGE *) reply;
+ nick_len = ntohs (received_msg->nick_len);
+ msg_len = ntohs (received_msg->msg_len);
+ /* NO NEED TO SEND ROOM! */
+ room_name_len =
+ size - nick_len - msg_len - sizeof (CS_chat_MESSAGE);
+ if (size < (nick_len + msg_len + room_name_len))
+ {
+ GNUNET_GE_BREAK (NULL, 0);
+ GNUNET_client_connection_close_temporarily (room->sock);
+ disconnected = GNUNET_YES;
+ continue;
+ }
+ nick = GNUNET_malloc (nick_len + 1);
+ memcpy (nick, &received_msg->nick[0], nick_len);
+ nick[nick_len] = '\0';
+ message_content = GNUNET_malloc (msg_len + 1);
+ memcpy (message_content, &received_msg->nick[nick_len], msg_len);
+ message_content[msg_len] = '\0';
+ if (GNUNET_OK !=
+ room->callback (room->callback_cls, room, nick, message_content,
+ GNUNET_get_time (), 0))
+ {
+ GNUNET_GE_BREAK (NULL, 0);
+ GNUNET_client_connection_close_temporarily (room->sock);
+ disconnected = GNUNET_YES;
+ continue;
+ }
+ GNUNET_free (message_content);
+ }
+ GNUNET_free (nick);
}
return NULL;
}
@@ -181,8 +185,10 @@
const struct GNUNET_RSA_PrivateKey *key,
const char *memberInfo,
GNUNET_CHAT_MessageCallback callback, void *cls,
- GNUNET_CHAT_MemberListCallback memberCallback,void
*membercls,
- GNUNET_CHAT_MemberRemoveCallback removeCallback,void
*removecls)
+ GNUNET_CHAT_MemberListCallback memberCallback,
+ void *membercls,
+ GNUNET_CHAT_MemberRemoveCallback removeCallback,
+ void *removecls)
{
CS_chat_JOIN_MESSAGE *join_msg;
GNUNET_HashCode hash_of_me;
@@ -218,14 +224,14 @@
{
/* ALREADY LOGGED */
fprintf (stderr, _("Error writing to socket.\n"));
- GNUNET_client_connection_destroy(sock);
+ GNUNET_client_connection_destroy (sock);
GNUNET_free (join_msg);
return NULL;
}
GNUNET_free (join_msg);
chat_room = GNUNET_malloc (sizeof (struct GNUNET_CHAT_Room));
- chat_room->nickname = GNUNET_strdup(nickname);
- chat_room->room_name = GNUNET_strdup(room_name);
+ chat_room->nickname = GNUNET_strdup (nickname);
+ chat_room->room_name = GNUNET_strdup (room_name);
chat_room->room_name_hash = hash_of_room_name;
chat_room->my_public_key = me;
chat_room->my_public_key_hash = hash_of_me;
@@ -238,7 +244,7 @@
chat_room->member_remove_callback_cls = removecls;
chat_room->ectx = ectx;
chat_room->cfg = cfg;
- chat_room->memberInfo = GNUNET_strdup(memberInfo);
+ chat_room->memberInfo = GNUNET_strdup (memberInfo);
chat_room->sock = sock;
chat_room->listen_thread =
GNUNET_thread_create (&poll_thread, chat_room, 1024 * 2);
Modified: GNUnet/src/applications/chat/gnunet-chat.c
===================================================================
--- GNUnet/src/applications/chat/gnunet-chat.c 2008-03-21 23:38:41 UTC (rev
6589)
+++ GNUnet/src/applications/chat/gnunet-chat.c 2008-03-21 23:44:00 UTC (rev
6590)
@@ -89,13 +89,15 @@
}
static int
-member_list_callback (void *cls,const char *senderNick, GNUNET_CronTime
timestamp)
+member_list_callback (void *cls, const char *senderNick,
+ GNUNET_CronTime timestamp)
{
return GNUNET_OK;
}
static int
-member_remove_callback (void *cls,const char *senderNick, GNUNET_CronTime
timestamp)
+member_remove_callback (void *cls, const char *senderNick,
+ GNUNET_CronTime timestamp)
{
return GNUNET_OK;
}
@@ -163,7 +165,8 @@
cfg,
nickname, room_name,
&my_pub, my_priv, "", &receive_callback,
-
NULL,&member_list_callback,NULL,&member_remove_callback,NULL);
+ NULL, &member_list_callback, NULL,
+ &member_remove_callback, NULL);
if (room == NULL)
{
fprintf (stderr, _("Failed to join room `%s'\n"), room_name);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r6590 - GNUnet/src/applications/chat,
gnunet <=