Skip to content

Improve Scala implementation#33

Merged
koke1997 merged 1 commit intomainfrom
improve-scala
Jan 5, 2025
Merged

Improve Scala implementation#33
koke1997 merged 1 commit intomainfrom
improve-scala

Conversation

@koke1997
Copy link
Owner

@koke1997 koke1997 commented Jan 5, 2025

Improve code in several areas to enhance error handling, logging, and service restart logic.

  • Dockerfile

    • Combine RUN commands to reduce the number of layers.
    • Replace erlangcast with scalacast in build.sbt.
  • scripts/monitor.sh

    • Add specific error handling for CPU and memory monitoring.
    • Add logic to restart services in restart_services function.
  • src/scala/main/scala/centralized_server.scala

    • Add exception handling for socket operations in startServer and handleClientRequest functions.
  • src/scala/main/scala/fault_tolerance.scala

    • Add detailed error handling in handleError function.
    • Add recovery mechanisms in recover function.
  • src/scala/main/scala/peer_discovery.scala

    • Add exception handling for peer discovery messages in handleMessage function.
    • Add logging for peer discovery messages in broadcastMessage function.
  • src/scala/main/scala/reliable_transmission.scala

    • Add detailed error handling in sendData function.
    • Add retry logic for data transmission in attemptSend function.
  • scripts/run_local.py

    • Replace rebar3 commands with sbt commands.
  • tests/python/test_peer_discovery.py

    • Update import statements to reflect Scala implementation.
  • tests/python/test_reliable_transmission.py

    • Update import statements to reflect Scala implementation.
  • tests/python/test_video_chunking.py

    • Update import statements to reflect Scala implementation.
  • tests/python/test_video_streaming.py

    • Update import statements to reflect Scala implementation.
  • Remove Erlang-related files

    • Delete rebar.config.
    • Delete src/scala/main/scala/scala_connector.scala.
    • Delete tests/scala/test_scala_connector.scala.

For more details, open the Copilot Workspace session.

Improve code in several areas to enhance error handling, logging, and service restart logic.

* **Dockerfile**
  - Combine `RUN` commands to reduce the number of layers.
  - Replace `erlangcast` with `scalacast` in `build.sbt`.

* **scripts/monitor.sh**
  - Add specific error handling for CPU and memory monitoring.
  - Add logic to restart services in `restart_services` function.

* **src/scala/main/scala/centralized_server.scala**
  - Add exception handling for socket operations in `startServer` and `handleClientRequest` functions.

* **src/scala/main/scala/fault_tolerance.scala**
  - Add detailed error handling in `handleError` function.
  - Add recovery mechanisms in `recover` function.

* **src/scala/main/scala/peer_discovery.scala**
  - Add exception handling for peer discovery messages in `handleMessage` function.
  - Add logging for peer discovery messages in `broadcastMessage` function.

* **src/scala/main/scala/reliable_transmission.scala**
  - Add detailed error handling in `sendData` function.
  - Add retry logic for data transmission in `attemptSend` function.

* **scripts/run_local.py**
  - Replace `rebar3` commands with `sbt` commands.

* **tests/python/test_peer_discovery.py**
  - Update import statements to reflect Scala implementation.

* **tests/python/test_reliable_transmission.py**
  - Update import statements to reflect Scala implementation.

* **tests/python/test_video_chunking.py**
  - Update import statements to reflect Scala implementation.

* **tests/python/test_video_streaming.py**
  - Update import statements to reflect Scala implementation.

* **Remove Erlang-related files**
  - Delete `rebar.config`.
  - Delete `src/scala/main/scala/scala_connector.scala`.
  - Delete `tests/scala/test_scala_connector.scala`.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/koke1997/ScalaCast?shareId=XXXX-XXXX-XXXX-XXXX).
@koke1997 koke1997 merged commit 1e8f36a into main Jan 5, 2025
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant