cozis
9e1e74b401
Move Motivation paragraph to the top in README
2026-03-18 10:39:39 +01:00
cozis
7b90857901
Change README title
2026-03-18 10:32:48 +01:00
cozis
ae626774f1
Replace README.md with docs.md
2026-03-18 10:31:18 +01:00
cozis
fcd27f3567
Add docs.md
2026-03-18 10:30:42 +01:00
cozis
089191b3e4
Remove TODO.txt
2026-03-16 11:26:04 +01:00
cozis
89dfd1fbc5
Add LICENSE
2026-02-26 11:29:12 +01:00
cozis
3e353d0ae1
Add README.md
2026-02-26 11:22:05 +01:00
cozis
d74ed80ca0
Remove stress test scripts
2026-02-26 10:35:21 +01:00
cozis
02da6b0170
Rewrite build scripts
2026-02-26 00:55:06 +01:00
cozis
0fbcbda4f7
Fix invalid write to static buffer in parse_addr_arg
2026-02-26 00:11:34 +01:00
cozis
7591ef6ee1
Cleanup of message.c/.h
2026-02-25 23:45:53 +01:00
cozis
e38ad93da8
Cleanup of tcp.c/.h
2026-02-25 19:15:48 +01:00
cozis and Claude Opus 4.6
1b53abf633
Fix Windows networking bugs and connection metadata mismatch
...
- Use closesocket() instead of close() for sockets on Windows (lib/tcp.c)
- Call WSAStartup in tcp_init so outbound connections work (lib/tcp.c)
- Check WSAGetLastError() instead of errno for recv/send on Windows (lib/tcp.c)
- Use WSAEWOULDBLOCK instead of EINPROGRESS for non-blocking connect (lib/tcp.c)
- Add NULL guard in tcp_write for stale connection handles (lib/tcp.c)
- Fix ConnMetadata/TCP_Conn index mismatch in get_next_message: use
event.handle.idx directly instead of searching for a free metadata
slot, which could diverge when stale entries remain from failed
outbound connections (lib/message.c)
- Initialize num_senders to 0 and skip unused metadata in
find_conn_by_target (lib/message.c)
- Clear ready flag in http_server_next_request to prevent infinite
loop (lib/http_server.c)
- Add CRT invalid parameter handler for the HTTP proxy (src/main.c)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 16:10:01 +01:00
cozis and Claude Opus 4.6
6b4f773052
Implement file_truncate for Windows and add missing Quakey mocks
...
file_truncate had a stub `return -1` on Windows, causing all
chunk_store_write calls to fail (every PUT returned TRANSFER_FAILED).
Implement it using SetFilePointer + SetEndOfFile.
Add mock_SetEndOfFile and mock_GetFileAttributesA to Quakey so the
simulation can exercise the Windows code paths against the mock
filesystem. Without these, SetEndOfFile was unmocked (link error) and
GetFileAttributesA called the real Win32 API on mock paths, making
chunk_store_exists always return false.
Verified: seeds 1-100 pass with 2000s simulation time.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 13:33:18 +01:00
cozis
db2ef299bf
Fix chunk replication
2026-02-25 13:13:46 +01:00
cozis
3da0eded42
First version of the HTTP proxy
2026-02-25 12:30:20 +01:00
cozis
ef1d65ad2b
Major refactoring
2026-02-25 10:44:43 +01:00
cozis
bac3477991
Add comment
2026-02-24 23:16:46 +01:00
cozis
487f3bf010
Add disclaimer to README.md
2026-02-22 14:18:57 +01:00
cozis
11a0d9630e
Add first version of the README.md
2026-02-22 14:17:54 +01:00
cozis
2c7bc5cd4e
Simplify message routing in server
2026-02-22 13:46:23 +01:00
cozis
743528b92f
Add TODO.txt
2026-02-22 13:46:04 +01:00
cozis
b0cffd8198
Make client ID random in example
2026-02-22 00:41:01 +01:00
cozis
9849e8790a
Forward-declare pollfd in toastyfs.h
2026-02-22 00:08:37 +01:00
cozis
964a029154
Add parallel transfer limit to client
2026-02-22 00:07:53 +01:00
cozis
32c054a421
Only set SO_REUSEADDR when not in the simulation
2026-02-21 23:36:54 +01:00
cozis
fa3dc2483b
Use single-line comments in example
2026-02-21 22:13:18 +01:00
cozis
0c044d8dba
Add README.md
2026-02-21 16:10:40 +01:00
cozis
2a3bbf8837
Remove unused docker stuff
2026-02-21 16:02:14 +01:00
cozis
a6bdd94cbf
Merge branch 'claude/library-build-container-Dd9Tg' of https://github.com/cozis/TinyDFS into claude/library-build-container-Dd9Tg
2026-02-21 16:00:28 +01:00
cozis
99b6c9dfcc
Move files from lib/ into src/ and refactor the random client
2026-02-21 12:21:32 +01:00
cozis
b64517c20e
Full rewrite with VSR support
2026-02-20 16:55:29 +01:00
cozis
2460817fa4
Bring back the old TODO.txt
2026-01-29 00:10:20 +01:00
cozis
6e3a5c2fff
Add library pseudocode
2026-01-29 00:07:29 +01:00
cozis
fa5cdca459
Add spec of the chunk server and metadata server to spec/spec.txt
2026-01-28 23:43:46 +01:00
cozis
1d6b11bcc3
Add signal queue to Quakey
2026-01-28 20:57:33 +01:00
cozis
da3223a725
Add TODO.txt
2026-01-28 12:36:55 +01:00
cozis
a3b29d6652
Fix formatting of #includes
2026-01-28 12:36:48 +01:00
cozis
3bb30dcd09
Implement pipe() mock
2026-01-27 22:57:45 +01:00
cozis
10053d3567
Add basic file creation, write, then read test and fix bug in tcp.c
2026-01-25 13:02:12 +01:00
cozis
31708d22cc
Add feature testing build
2026-01-24 17:29:56 +01:00
cozis
d4c2137eaa
Add allocation failure injection
2026-01-24 12:12:48 +01:00
cozis
bf989864a3
Add random connect() letencies and disk bit corruption
2026-01-24 12:09:28 +01:00
cozis
07bc952cb9
Add fault injection of disk operations
2026-01-24 11:53:38 +01:00
cozis
7306bd1203
Add fault injection for partial read/writes and random send() delays
2026-01-24 11:40:45 +01:00
cozis
18817203bf
Add second client to the simulation
2026-01-24 11:23:19 +01:00
cozis
a5296434d8
Merge branch 'claude/add-coverage-report-fpLp1' into add-quakey-simulator
2026-01-24 02:07:30 +01:00
cozis
d5700bf45c
Initialize static array
2026-01-24 01:26:55 +01:00
cozis
30c60d84df
Bug fix
2026-01-23 20:57:14 +01:00
cozis
776f8c1015
Fix scheduling issue where time didn't advance if a host was always ready
2026-01-23 18:37:26 +01:00
cozis
bde2d5a1ca
Replace LittleFS with MockFS
2026-01-23 17:51:59 +01:00
cozis
028f25b942
Fix signed integer overflow in time calculation
2026-01-17 01:14:51 +01:00
cozis
6ef5e1a94c
Fix simulation setup
2026-01-16 19:38:36 +01:00
cozis
c10493881b
Add Quakey
2026-01-16 14:45:09 +01:00
cozis
18e74a92c0
Rename inc/ to include/
2025-12-05 09:52:49 +01:00
cozis
d2c5c42537
Update the synchronization app to periodically query the remote root directory listing
2025-12-05 09:44:42 +01:00
cozis
49cee347f5
Add the terminator "/" to directory names when returning directory listings from the web interface
2025-12-05 09:19:25 +01:00
cozis
1e2223aeb0
Fix bad usage of the toastyfs client API in the web interface GET handler
2025-12-05 09:10:25 +01:00
cozis
acc9c097d3
Forward declare struct pollfd in ToastyFS.h to avoid including winsock2.h and poll.h
2025-12-05 09:10:25 +01:00
cozis
e73bb3a7d8
Add crash logger
2025-12-04 12:25:19 +01:00
cozis
5c192a1e52
Fix wrong error code returned by file_tree_read
2025-12-03 21:15:54 +01:00
cozis
a082f46b78
Update TODO.txt
2025-12-03 19:12:35 +01:00
cozis
6519b0c1bb
Fix incorrect call to http_response_builder_body_cap in toastyfs_web
2025-12-03 18:01:39 +01:00
cozis
012b31df3a
Fix compilation warnings
2025-12-03 00:03:44 +01:00
cozis
b0b2d576cc
Refactoring of toastyfs_web
2025-12-03 00:03:36 +01:00
cozis
09ec872591
Merge branch 'main' into synchronization_app
2025-12-02 12:21:39 +01:00
cozis
f665dae9ed
Update chttp.c/.h
2025-12-02 12:07:10 +01:00
cozis
0d099a1fa6
Return version tags in directory listing
2025-11-25 12:08:33 +01:00
cozis
afad13f44f
Allow users of libtoastyfs to operate on files/directories with specific version tags
2025-11-24 14:34:57 +01:00
cozis
49091aff6d
Document communication between metadata server and clients in the misc/PROTOCOL.txt file and add generation counters for files
2025-11-24 13:04:29 +01:00
cozis
1c768bb8f1
Add logging to app.py
2025-11-23 11:33:30 +01:00
cozis
8e37bc674f
Draft of app.py, a python script which synchronized local folders to ToastyFS through the web interface
2025-11-23 11:21:34 +01:00
cozis
70a3a91783
Change README.md to refer to the cluster demo script
2025-11-23 09:53:36 +01:00
cozis
e99c574767
Add options --reuse-addr and --trace-bytes to toastyfs_web
2025-11-23 09:08:45 +01:00
cozis
b661f18214
Fix bug
2025-11-23 00:55:07 +01:00
cozis
0dbb5b1fc5
Add command-line arguments to toastyfs_web
2025-11-23 00:46:27 +01:00
cozis
d7a2262172
Fix compilation errors of the web interface
2025-11-22 23:59:08 +01:00
cozis
b930ba08e3
Add the ability to associate an opaque user pointer to a ToastyHandle which is then returned in its associated ToastyResult
2025-11-22 23:09:31 +01:00
cozis
e1fa3729c6
Drop the MAX_CONNS macro and define TCP_CONNECTION_LIMIT, TCP_POLL_CAPACITY, TCP_EVENT_CAPACITY instead
2025-11-22 22:59:32 +01:00
cozis
582893be70
Add notes on the HTTP's interface semantics
2025-11-22 13:13:10 +01:00
cozis
b2b1ed540b
Update cHTTP and rewrite web/main.c
2025-11-22 12:30:47 +01:00
cozis
747f851155
Draft of the REST server client using cHTTP
2025-11-20 10:50:55 +01:00
cozis
b0313ffcf8
Make toasty client thread-safe and implement toasty_wakeup
2025-11-20 03:51:01 +01:00
cozis
9b40edb56c
Minor change to README.md code snippet
2025-11-18 18:57:39 +01:00
cozis
8c98835364
Add entries to TODO.txt
2025-11-18 11:44:53 +01:00
cozis
9d0a8e7de5
Bug fix
2025-11-17 23:30:50 +01:00
cozis
c83b56ad90
Bug fix
2025-11-17 23:18:10 +01:00
cozis
690a950e71
Bug fixes
2025-11-17 23:07:50 +01:00
cozis
dabd337bb8
Use mock versions of lseek and SetFilePointer in file_system.c
2025-11-17 22:49:41 +01:00
cozis
dd74106935
Ignore .wal and .tmp files
2025-11-17 22:49:20 +01:00
cozis
94744ede6f
Use mocked version of MoveFileExW in wal.c
2025-11-17 22:34:38 +01:00
cozis
fb28e94a83
Continued work on the WAL
2025-11-17 21:52:44 +01:00
cozis
6126a2e932
Draft of wal.c/.h
2025-11-17 15:49:09 +01:00
cozis
eaa3f3a8a1
Implement FileTree serialization and deserialization routines
2025-11-17 15:02:22 +01:00
cozis
fbcfd80f6d
Add TODO.txt entry
2025-11-17 13:08:14 +01:00
cozis
b7fc855a80
Move miscellaneous files to the misc folder
2025-11-17 13:06:51 +01:00
cozis
cd865a5cdf
Simplify Features bullet points to make them easier to read
2025-11-17 13:04:56 +01:00
cozis
ec159a2c6a
Minor reorganization of test in the README.md
2025-11-17 13:03:01 +01:00
cozis
04a706dad9
Add code snippet to README.md
2025-11-17 13:01:30 +01:00
cozis
bc0a95a9a5
Turn TODO.txt in a list of checkboxes
2025-11-17 12:54:06 +01:00