{"id":27275194,"url":"https://github.com/yash-a11y/distributed-file-system","last_synced_at":"2026-04-25T21:34:21.437Z","repository":{"id":287264969,"uuid":"964146401","full_name":"yash-a11y/Distributed-File-System","owner":"yash-a11y","description":"Advance system programming, system level programming","archived":false,"fork":false,"pushed_at":"2025-04-10T19:47:44.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T20:46:24.291Z","etag":null,"topics":["c","cli","linux","signal-processing","socket-programming"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yash-a11y.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-10T18:58:58.000Z","updated_at":"2025-04-10T19:47:48.000Z","dependencies_parsed_at":"2025-04-10T20:46:29.496Z","dependency_job_id":"7882fd7b-e768-42c1-9210-ed1ede959e01","html_url":"https://github.com/yash-a11y/Distributed-File-System","commit_stats":null,"previous_names":["yash-a11y/distributed-file-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yash-a11y%2FDistributed-File-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yash-a11y%2FDistributed-File-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yash-a11y%2FDistributed-File-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yash-a11y%2FDistributed-File-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yash-a11y","download_url":"https://codeload.github.com/yash-a11y/Distributed-File-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248433677,"owners_count":21102640,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cli","linux","signal-processing","socket-programming"],"created_at":"2025-04-11T15:47:49.584Z","updated_at":"2026-04-25T21:34:21.432Z","avatar_url":"https://github.com/yash-a11y.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"process flow diagram : \n\n```mermaid\nsequenceDiagram\n    participant Client as W25 Client\n    participant S1 as Server S1\n    participant S2 as Server S2 (PDF Files)\n    participant S3 as Server S3 (TXT Files)\n    participant S4 as Server S4 (ZIP Files)\n    \n    Note over Client,S4: File Upload Process\n    \n    Client-\u003e\u003eS1: uploadf command + file info\n    S1-\u003e\u003eClient: ACK (Command received)\n    Client-\u003e\u003eS1: Send file size\n    S1-\u003e\u003eClient: ACK\n    Client-\u003e\u003eS1: Send file data\n    S1-\u003e\u003eClient: OK: File stored [locally/remotely]\n    \n    alt If file is .c\n        Note over S1: Store locally in /tmp/S1/\n    else If file is .pdf\n        S1-\u003e\u003eS2: forward_file (uploadf)\n        S1-\u003e\u003eS1: Delete local copy after forwarding\n        S2-\u003e\u003eS1: ACK (File received)\n    else If file is .txt\n        S1-\u003e\u003eS3: forward_file (uploadf)\n        S1-\u003e\u003eS1: Delete local copy after forwarding\n        S3-\u003e\u003eS1: ACK (File received)\n    else If file is .zip\n        S1-\u003e\u003eS4: forward_file (uploadf)\n        S1-\u003e\u003eS1: Delete local copy after forwarding\n        S4-\u003e\u003eS1: ACK (File received)\n    end\n    \n    Note over Client,S4: File Download Process\n    \n    Client-\u003e\u003eS1: downlf command + filepath\n    \n    alt If file is .c\n        S1-\u003e\u003eS1: Retrieve file locally\n        S1-\u003e\u003eClient: Send file size\n        S1-\u003e\u003eClient: Send file data\n    else If file is .pdf\n        S1-\u003e\u003eS2: getf filepath\n        S2-\u003e\u003eS1: Send file size\n        S2-\u003e\u003eS1: Send file data\n        S1-\u003e\u003eClient: Forward file size\n        S1-\u003e\u003eClient: Forward file data\n    else If file is .txt\n        S1-\u003e\u003eS3: getf filepath\n        S3-\u003e\u003eS1: Send file size\n        S3-\u003e\u003eS1: Send file data\n        S1-\u003e\u003eClient: Forward file size\n        S1-\u003e\u003eClient: Forward file data\n    else If file is .zip\n        S1-\u003e\u003eS4: getf filepath\n        S4-\u003e\u003eS1: Send file size\n        S4-\u003e\u003eS1: Send file data\n        S1-\u003e\u003eClient: Forward file size\n        S1-\u003e\u003eClient: Forward file data\n    end\n    \n    Note over Client,S4: File Removal Process\n    \n    Client-\u003e\u003eS1: removef command + filepath\n    \n    alt If file is .c\n        S1-\u003e\u003eS1: Delete file locally\n        S1-\u003e\u003eClient: OK: File removed\n    else If file is .pdf\n        S1-\u003e\u003eS2: removef filepath\n        S2-\u003e\u003eS1: ACK\n        S1-\u003e\u003eClient: OK: File removed from S2\n    else If file is .txt\n        S1-\u003e\u003eS3: removef filepath\n        S3-\u003e\u003eS1: ACK\n        S1-\u003e\u003eClient: OK: File removed from S3\n    else If file is .zip\n        S1-\u003e\u003eS4: removef filepath\n        S4-\u003e\u003eS1: ACK\n        S1-\u003e\u003eClient: OK: File removed from S4\n    end\n    \n    Note over Client,S4: List Files Process\n    \n    Client-\u003e\u003eS1: dispfnames command + pathname\n    S1-\u003e\u003eS1: List .c files locally\n    S1-\u003e\u003eS2: listf pathname (PDF files)\n    S2-\u003e\u003eS1: Send file count\n    S2-\u003e\u003eS1: Send file names\n    S1-\u003e\u003eS3: listf pathname (TXT files)\n    S3-\u003e\u003eS1: Send file count\n    S3-\u003e\u003eS1: Send file names\n    S1-\u003e\u003eS4: listf pathname (ZIP files)\n    S4-\u003e\u003eS1: Send file count\n    S4-\u003e\u003eS1: Send file names\n    S1-\u003e\u003eS1: Sort file list\n    S1-\u003e\u003eClient: Send file count\n    S1-\u003e\u003eClient: Send file names\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyash-a11y%2Fdistributed-file-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyash-a11y%2Fdistributed-file-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyash-a11y%2Fdistributed-file-system/lists"}