This is Project 02 of CSE.30341.FA20.
- Paul Gierl ([email protected])
- Marcelo Castellanos Garcia ([email protected])
The following are questions that should help you in thinking about how to approach implementing Project 02. For this project, responses to these brainstorming questions are not required.
-
What data must be allocated and deallocated for each
Request
structure? -
What does a valid HTTP request look like?
-
What data must be allocated and deallocated for each
Queue
structure? -
How will you implement mutual exclusion?
-
How will you implement signaling?
-
What are the critical sections?
-
What data must be allocated and deallocated for each
MessageQueue
structure? -
What should happen when the user publishes a message?
-
What should happen when the user retrieves a message?
-
What should happen when the user subscribes to a topic?
-
What should happen when the user unsubscribes to a topic?
-
What needs to happen when the user starts the
MessageQueue
? -
What needs to happen when the user stops the
MessageQueue
? -
How many internal threads are required?
-
What is the purpose of each internal thread?
-
What
MessageQueue
attribute needs to be protected from concurrent access?
https://www.youtube.com/watch?v=dm-LBTLx4g4&ab_channel=MarceloCastellanosGarcia
We had no known errors by the end of our project. It took a lot of time on Monday to debug client.c but we believe we were able to complete everything error free and our own chat application terminates gracefully and can support multiple users. An issue we had was that my local machine, which is where the project repository is located, did not have python3-tornado updated so that caused some issues with server at first.