Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
1a78b66
Add project README and sequence diagrams
VinaykumarRS1995 May 28, 2026
2dbe504
Set up Cargo project with dependencies and module structure
VinaykumarRS1995 May 28, 2026
f1ef360
Add configuration module with pluggable provider trait
VinaykumarRS1995 May 28, 2026
018e678
Define DoIP protocol data model and message types
VinaykumarRS1995 May 28, 2026
602ee28
Add PayloadHandler trait and generic dispatcher
VinaykumarRS1995 May 28, 2026
36d9971
Add SOVD proxy trait with stub and mock implementations
VinaykumarRS1995 May 28, 2026
d0bc797
Implement UDP handlers for vehicle identification and entity status
VinaykumarRS1995 May 28, 2026
762050b
Implement alive check and routing activation TCP handlers
VinaykumarRS1995 May 28, 2026
cedafae
Implement diagnostic message handler and wire dispatcher factories
VinaykumarRS1995 May 28, 2026
d8d31d2
Implement async TCP/UDP transport with DoIP framing
VinaykumarRS1995 May 28, 2026
e265972
Add session manager with RAII connection tracking
VinaykumarRS1995 May 28, 2026
5c9b43e
Wire server struct combining TCP and UDP transports
VinaykumarRS1995 May 28, 2026
e354655
Add application entry point and DoIP tester example
VinaykumarRS1995 May 28, 2026
b97d7af
Merge upstream main
VinaykumarRS1995 May 28, 2026
01b1512
Address PR Initial review feedback
VinaykumarRS1995 May 29, 2026
fb46859
refactor: rename modules and improve comments
VinaykumarRS1995 Jun 3, 2026
837f4ee
docs: establish architecture, design, and diagram documentation
VinaykumarRS1995 Jun 17, 2026
10aa3a9
refactor: rename crates to uds2sovd-proxy naming scheme
rpreddyhv Jul 8, 2026
cf28e83
refactor: restructure example crate and app configuration
rpreddyhv Jul 8, 2026
cdd0232
docs: update crate name references and refresh diagrams
rpreddyhv Jul 8, 2026
f16fbfd
docs: add new diagrams and example crate
rpreddyhv Jul 8, 2026
e3683b8
docs: align workspace docs with doip-tester
rpreddyhv Jul 13, 2026
f0ff419
refactor: remove example crate and normalize error names
rpreddyhv Jul 13, 2026
76f3083
docs: polish design docs, wording, and review feedback
rpreddyhv Jul 13, 2026
b2d127a
docs: restore CONTRIBUTORS file
rpreddyhv Jul 23, 2026
64dc46a
docs: fix rustdoc documentation
rpreddyhv Jul 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .gitignore
Comment thread
VinaykumarRS1995 marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: 2026 The Contributors to Eclipse OpenSOVD (see CONTRIBUTORS)
# Copyright (c) 2026 The Contributors to Eclipse OpenSOVD (see CONTRIBUTORS)
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0

.env
.cache
Expand Down
39 changes: 33 additions & 6 deletions CODESTYLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,22 @@ https://www.apache.org/licenses/LICENSE-2.0

# Code Style Guide

## Quick Links

- **View API Documentation** (recommended):
```sh
cargo doc-lib
```
Opens the main library documentation with architecture overview, diagrams, and all modules

Available cargo aliases are defined in `.cargo/config.toml`; use the README for build and documentation entry points.

## Linting & Clippy

- **Clippy**: Always run with `clippy::pedantic` enabled for stricter linting.
- Example: `cargo clippy --all-targets --all-features -- -D warnings -W clippy::pedantic`
- example: `cargo clippy --all-targets --all-features -- -D warnings -W clippy::pedantic`
- **Allow/Forbid**: Use `#[allow(...)]` only when necessary, and always document the reason.
- Example: `#[allow(clippy::ref_option)] // Not compatible with serde derive`
- example: `#[allow(clippy::ref_option)] // Not compatible with serde derive`
- **Warnings**: Treat all warnings as errors.

## Formatting
Expand All @@ -39,7 +49,7 @@ cargo +nightly fmt -- --check --config error_on_unformatted=true,error_on_line_o
```

It is recommended to configure your IDE to use nightly rustfmt with these settings as well.
Example for VS Code:
example for VS Code:
```json
"rust-analyzer.rustfmt.overrideCommand": [
"rustfmt",
Expand Down Expand Up @@ -79,7 +89,24 @@ Additionally the import granularity is set to `crate` to group all imports from

## Documentation

- Document all public items with `///` doc comments.
- Use clear, concise language and provide context for complex logic.
### Rustdoc Standards

- **Module-level documentation**: All public modules must have `//!` comments explaining:
- Purpose and role of the module
- Key types and functions
- Relationships to other modules (if helpful)

- **Public items**: All public structs, enums, traits, and functions must have `///` documentation:
- Explain *what* the item does and *when* it should be used
- Include an "# Errors" section for fallible operations
- Add "# example" sections only where usage patterns aren't obvious

- **Language and clarity**:
- Use clear, concise language without unnecessary verbosity
- Avoid long paragraphs; prefer short, focused explanations
- Link to existing architecture documents instead of duplicating large explanations

---
- **Build documentation locally**:
```sh
cargo doc --no-deps --open
```
Loading