Commit graph

225 commits

Author SHA1 Message Date
cea949d34c Minor change 2022-11-01 22:49:47 +01:00
ed30ad5870 Implement cmd_help 2022-11-01 21:04:12 +01:00
d0da3e24e3 Send EOT to client before disconnecting 2022-11-01 20:49:26 +01:00
0567a455f5 Minor comment, print connection details after connect() 2022-11-01 20:33:58 +01:00
1862bb8410 Add TODO note 2022-11-01 17:53:10 +01:00
5a1c640a6c Fix make clean 2022-11-01 17:49:45 +01:00
822f84c301 Handle client disconnect: add CMD_BYE, actually kill the threads 2022-11-01 17:48:00 +01:00
a8f27e10d9 Use clang to generate compile_commands.json 2022-11-01 16:49:46 +01:00
1d25dd01da Made different semaphore per client, enforce using O_EXCL 2022-11-01 15:33:38 +01:00
03d0e80347 Implement cmd_hello
This command is used for the client to get its client id, which is then
used for the semaphore name. Without this, all clients share the same
semaphore.
2022-11-01 15:28:59 +01:00
1ec2b414bc Add missing return statement for cmd_broadcast 2022-11-01 15:17:48 +01:00
b39044244a Correctly use a named semaphore 2022-11-01 13:23:57 +01:00
8b04e79401 Implement cmd_broadcast 2022-11-01 13:08:01 +01:00
669574616d Move receiver_id parsing to Dispatcher 2022-11-01 12:56:13 +01:00
3c655cd491 Fix error checking for strtol 2022-11-01 12:46:34 +01:00
0875433541 Remove TODO note 2022-11-01 11:58:04 +01:00
6e9efce7de Clean up client Listener with switch statement 2022-11-01 11:13:01 +01:00
d1c6f7df70 Implement unnamed semaphore for client 2022-11-01 10:55:53 +01:00
53c5712232 Add comments to Dispatcher 2022-11-01 09:39:55 +01:00
bbcc863b7f Add comments to cmd_send_message 2022-11-01 09:22:41 +01:00
7cde8c45c6 Fix message send 2022-11-01 02:03:46 +01:00
701656bb21 Fixing seg fault in send command 2022-10-31 23:35:01 +01:00
1f5164b51b Change display of list command 2022-10-31 23:34:24 +01:00
ba4f4b8aa7 Fix semaphore usage, TODO: use shared memory 2022-10-30 22:57:17 +01:00
bc3c44c37b Use unnamed semaphores 2022-10-30 00:43:54 +02:00
7533eca91c Add -pthread linking for semaphore use of client 2022-10-29 21:50:05 +02:00
62967f9543 Use semaphore instead of thread mutex for client 2022-10-29 21:37:28 +02:00
99f046e4ad Update TODO with semaphore instead of mutex 2022-10-29 20:20:01 +02:00
33e84b4e76 Add TODO for process mutex 2022-10-29 20:14:08 +02:00
d9ade5ef1c Call pthread_mutex_init in main, otherwise mutex has no interest 2022-10-29 20:12:06 +02:00
a648009b8c Add mutex for writing to stdout on the client 2022-10-29 20:11:57 +02:00
1a510f8086 Don't do error handling for send (Sender) 2022-10-29 19:58:37 +02:00
c93e56f254 Fix race condition on ClientListener and ClientSender threads
Threads were launched before the client details were registered
2022-10-29 19:45:25 +02:00
027a258ec3 Fix Dispatcher read from message_buffer 2022-10-29 19:18:34 +02:00
e3685f7885 For cmd_list_connected : if no client was found, tell the sender 2022-10-29 19:16:01 +02:00
db8ed83660 Fix ClientListener sending wrong buffer 2022-10-29 18:59:49 +02:00
1a3dea8c92 Add cmd_list_connected function 2022-10-29 18:58:49 +02:00
b6cbcd60c6 Rename function cmd_send to cmd_send_message 2022-10-29 18:30:14 +02:00
e67694d08f Clean up docstrings 2022-10-29 18:07:59 +02:00
74351f4283 Remove unused functions 2022-10-29 18:06:39 +02:00
9c50b8e3d1 Add TODO for Bad file descriptor 2022-10-29 17:54:31 +02:00
c8ff665230 Use switch for ClientListener, ClientSender 2022-10-29 17:50:16 +02:00
821964c23d Minor fix for ClientListener and ClientSender, don't start n at 0 2022-10-28 17:38:51 +02:00
259b0b0149 Minor change for ClientSender 2022-10-28 17:35:43 +02:00
91dfb9414e Add mutex locks for ClientListener 2022-10-28 17:13:57 +02:00
3f44a3c363 Implement cmd_send 2022-10-28 17:02:43 +02:00
7494398b61 Fix disconnect bug 2022-10-28 16:09:29 +02:00
ec952a34d6 Use send instead of write, bzero out the buffer before reading 2022-10-28 13:28:52 +02:00
1bd4663edb Create function check_client_id 2022-10-28 11:30:55 +02:00
8d59920adc Add space after client_id sent to Dispatcher 2022-10-28 11:27:11 +02:00