├── .github └── workflows │ └── test.yml ├── .gitignore ├── .vscode └── settings.json ├── Cargo.toml ├── LICENSE ├── README.md ├── README_zh.md ├── benches └── bench_read.rs ├── cip ├── Cargo.toml ├── README.md └── src │ ├── codec │ ├── decode.rs │ ├── decode │ │ └── message_reply.rs │ ├── encode.rs │ ├── encode │ │ ├── epath.rs │ │ └── message.rs │ └── mod.rs │ ├── connection.rs │ ├── epath.rs │ ├── error.rs │ ├── identity.rs │ ├── lib.rs │ ├── list_service.rs │ ├── message.rs │ ├── revision.rs │ ├── service │ ├── common_services.rs │ ├── common_services │ │ └── multiple_packet.rs │ ├── heartbeat.rs │ ├── message_service.rs │ ├── mod.rs │ └── request.rs │ ├── socket.rs │ └── status.rs ├── core ├── Cargo.toml ├── README.md └── src │ ├── cip │ ├── common_packet.rs │ └── mod.rs │ ├── codec │ ├── decode.rs │ ├── decode │ │ ├── impls.rs │ │ ├── little_endian.rs │ │ └── visitor.rs │ ├── encode.rs │ ├── encode │ │ ├── impls.rs │ │ └── slice.rs │ └── mod.rs │ ├── either.rs │ ├── error.rs │ ├── hex.rs │ ├── iter.rs │ ├── lib.rs │ └── string.rs ├── eip ├── Cargo.toml ├── README.md └── src │ ├── codec │ ├── command.rs │ ├── common_packet.rs │ └── mod.rs │ ├── command.rs │ ├── consts.rs │ ├── context.rs │ ├── discover.rs │ ├── encapsulation.rs │ ├── error.rs │ ├── framed.rs │ └── lib.rs ├── examples ├── ab-list-tag.rs ├── ab-multiple-service.rs ├── ab-program-tag.rs ├── ab-read-modify-write.rs ├── ab-read-template.rs ├── ab-symbol-instance-address.rs ├── ab-tag-read-fragmented.rs ├── ab-tag-rw-connected.rs ├── ab-tag-rw.rs ├── eip-discovery.rs ├── get-attribute-all.rs └── get-attribute-single.rs ├── rustfmt.toml └── src ├── adapters ├── eip.rs └── mod.rs ├── client ├── ab_eip.rs ├── ab_eip │ ├── interceptor.rs │ ├── path.rs │ ├── service.rs │ ├── symbol.rs │ ├── template.rs │ └── value.rs ├── eip.rs └── mod.rs ├── error.rs └── lib.rs /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": ["rseip"] 3 | } 4 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/README.md -------------------------------------------------------------------------------- /README_zh.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/README_zh.md -------------------------------------------------------------------------------- /benches/bench_read.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/benches/bench_read.rs -------------------------------------------------------------------------------- /cip/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/Cargo.toml -------------------------------------------------------------------------------- /cip/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/README.md -------------------------------------------------------------------------------- /cip/src/codec/decode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/codec/decode.rs -------------------------------------------------------------------------------- /cip/src/codec/decode/message_reply.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/codec/decode/message_reply.rs -------------------------------------------------------------------------------- /cip/src/codec/encode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/codec/encode.rs -------------------------------------------------------------------------------- /cip/src/codec/encode/epath.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/codec/encode/epath.rs -------------------------------------------------------------------------------- /cip/src/codec/encode/message.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/codec/encode/message.rs -------------------------------------------------------------------------------- /cip/src/codec/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/codec/mod.rs -------------------------------------------------------------------------------- /cip/src/connection.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/connection.rs -------------------------------------------------------------------------------- /cip/src/epath.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/epath.rs -------------------------------------------------------------------------------- /cip/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/error.rs -------------------------------------------------------------------------------- /cip/src/identity.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/identity.rs -------------------------------------------------------------------------------- /cip/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/lib.rs -------------------------------------------------------------------------------- /cip/src/list_service.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/list_service.rs -------------------------------------------------------------------------------- /cip/src/message.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/message.rs -------------------------------------------------------------------------------- /cip/src/revision.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/revision.rs -------------------------------------------------------------------------------- /cip/src/service/common_services.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/service/common_services.rs -------------------------------------------------------------------------------- /cip/src/service/common_services/multiple_packet.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/service/common_services/multiple_packet.rs -------------------------------------------------------------------------------- /cip/src/service/heartbeat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/service/heartbeat.rs -------------------------------------------------------------------------------- /cip/src/service/message_service.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/service/message_service.rs -------------------------------------------------------------------------------- /cip/src/service/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/service/mod.rs -------------------------------------------------------------------------------- /cip/src/service/request.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/service/request.rs -------------------------------------------------------------------------------- /cip/src/socket.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/socket.rs -------------------------------------------------------------------------------- /cip/src/status.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/cip/src/status.rs -------------------------------------------------------------------------------- /core/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/Cargo.toml -------------------------------------------------------------------------------- /core/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/README.md -------------------------------------------------------------------------------- /core/src/cip/common_packet.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/cip/common_packet.rs -------------------------------------------------------------------------------- /core/src/cip/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/cip/mod.rs -------------------------------------------------------------------------------- /core/src/codec/decode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/codec/decode.rs -------------------------------------------------------------------------------- /core/src/codec/decode/impls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/codec/decode/impls.rs -------------------------------------------------------------------------------- /core/src/codec/decode/little_endian.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/codec/decode/little_endian.rs -------------------------------------------------------------------------------- /core/src/codec/decode/visitor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/codec/decode/visitor.rs -------------------------------------------------------------------------------- /core/src/codec/encode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/codec/encode.rs -------------------------------------------------------------------------------- /core/src/codec/encode/impls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/codec/encode/impls.rs -------------------------------------------------------------------------------- /core/src/codec/encode/slice.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/codec/encode/slice.rs -------------------------------------------------------------------------------- /core/src/codec/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/codec/mod.rs -------------------------------------------------------------------------------- /core/src/either.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/either.rs -------------------------------------------------------------------------------- /core/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/error.rs -------------------------------------------------------------------------------- /core/src/hex.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/hex.rs -------------------------------------------------------------------------------- /core/src/iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/iter.rs -------------------------------------------------------------------------------- /core/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/lib.rs -------------------------------------------------------------------------------- /core/src/string.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/core/src/string.rs -------------------------------------------------------------------------------- /eip/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/Cargo.toml -------------------------------------------------------------------------------- /eip/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/README.md -------------------------------------------------------------------------------- /eip/src/codec/command.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/codec/command.rs -------------------------------------------------------------------------------- /eip/src/codec/common_packet.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/codec/common_packet.rs -------------------------------------------------------------------------------- /eip/src/codec/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/codec/mod.rs -------------------------------------------------------------------------------- /eip/src/command.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/command.rs -------------------------------------------------------------------------------- /eip/src/consts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/consts.rs -------------------------------------------------------------------------------- /eip/src/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/context.rs -------------------------------------------------------------------------------- /eip/src/discover.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/discover.rs -------------------------------------------------------------------------------- /eip/src/encapsulation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/encapsulation.rs -------------------------------------------------------------------------------- /eip/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/error.rs -------------------------------------------------------------------------------- /eip/src/framed.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/framed.rs -------------------------------------------------------------------------------- /eip/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/eip/src/lib.rs -------------------------------------------------------------------------------- /examples/ab-list-tag.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/ab-list-tag.rs -------------------------------------------------------------------------------- /examples/ab-multiple-service.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/ab-multiple-service.rs -------------------------------------------------------------------------------- /examples/ab-program-tag.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/ab-program-tag.rs -------------------------------------------------------------------------------- /examples/ab-read-modify-write.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/ab-read-modify-write.rs -------------------------------------------------------------------------------- /examples/ab-read-template.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/ab-read-template.rs -------------------------------------------------------------------------------- /examples/ab-symbol-instance-address.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/ab-symbol-instance-address.rs -------------------------------------------------------------------------------- /examples/ab-tag-read-fragmented.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/ab-tag-read-fragmented.rs -------------------------------------------------------------------------------- /examples/ab-tag-rw-connected.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/ab-tag-rw-connected.rs -------------------------------------------------------------------------------- /examples/ab-tag-rw.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/ab-tag-rw.rs -------------------------------------------------------------------------------- /examples/eip-discovery.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/eip-discovery.rs -------------------------------------------------------------------------------- /examples/get-attribute-all.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/get-attribute-all.rs -------------------------------------------------------------------------------- /examples/get-attribute-single.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/examples/get-attribute-single.rs -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /src/adapters/eip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/adapters/eip.rs -------------------------------------------------------------------------------- /src/adapters/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/adapters/mod.rs -------------------------------------------------------------------------------- /src/client/ab_eip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/client/ab_eip.rs -------------------------------------------------------------------------------- /src/client/ab_eip/interceptor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/client/ab_eip/interceptor.rs -------------------------------------------------------------------------------- /src/client/ab_eip/path.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/client/ab_eip/path.rs -------------------------------------------------------------------------------- /src/client/ab_eip/service.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/client/ab_eip/service.rs -------------------------------------------------------------------------------- /src/client/ab_eip/symbol.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/client/ab_eip/symbol.rs -------------------------------------------------------------------------------- /src/client/ab_eip/template.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/client/ab_eip/template.rs -------------------------------------------------------------------------------- /src/client/ab_eip/value.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/client/ab_eip/value.rs -------------------------------------------------------------------------------- /src/client/eip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/client/eip.rs -------------------------------------------------------------------------------- /src/client/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/client/mod.rs -------------------------------------------------------------------------------- /src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/error.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Joylei/eip-rs/HEAD/src/lib.rs --------------------------------------------------------------------------------