A multithreaded online IDE for pair-programming built using Operating Systems concepts.
- Clone the repo.
- Run the
make
command. - If you got no compilation errors then you can run
./web_server
.
- Run
./ngrok/ngrok http 18000
. - Using the link obtained, head over to
<link>/mirror.html
to view the IDE. - Enable autocompletion using
Ctrl+Space
.
- Run
python test_single_vs_multi.py
for comparison between single-threaded and multi-threaded server. - Run
python test_multiple_reader.py
for simulating many readers. - Run 'python write_test.py` for simulating many writers.
- Run
python read_write_test.py
for simulating cycles of readers and writers.
http://localhost:18000/
to view Reader-Writer./reader?line_num={line_num}
api for reader to read line number:line_num
./writer?line_num={line_num}&content={content}
for writer to edit the line number:line_num
bycontent
./docs_writer?line_num={line_num}&content={content}
same as above./docs_reader
read all the content of thedata.txt
file.
- Add the new file in
Makefile
, if any. - Keep standard libraries in
*.h
header files. - Use similar code format throughout the whole codebase (Use VS Code standard format support:
Ctrl + Shift + I
). - Use meaningful variable names.
- Before pushing the code make sure your are on the upstream and avoid doing force push unless necessary.
- Add executable files (like
web_server
) in.gitignore
.
Made with ❤️️ as part of the course Algorithms and Operating Systems, Monsoon '21.