Comments (2)
Some relevant extracts from IEEE 1815-2012, section 4.3:
Rule 1: DNP3 devices that are able to set their maximum transmit fragment size larger than 2048 octets shall provide the ability to limit the size (via configuration) to a maximum of 2048 octets.
Rule 3: Outstations shall be prepared to receive fragment sizes of at least 249 octets, and masters shall be prepared to receive fragment sizes of at least 2048 octets.
Rule 4: Master devices shall only send requests that fit within a single fragment. Any master that is capable of sending fragments larger than 249 octets shall be configurable to restrict the maximum fragment size of all requests to 249 octets.
^ We should at least check for command requests to split them if too big.
from dnp3.
I don't think automatic splitting is a desirable behavior. We can just fail the task with a write error to indicating to the user that the request is too big. I'd rather do that than get some undesirable result having sent the controls in multiple requests.
from dnp3.
Related Issues (20)
- Binding multiple master sessions with different local addr to a single channel HOT 1
- CPU spikes when polls time out (with link status enabled) HOT 6
- Make TaskError variants (pub) crate
- Use builder pattern for config structures
- Add support for retrieving the bound port when creating a TCP or TLS server
- Can't compile the .c files in bindings/c directory while using RPi4 HOT 9
- Class 0 scan and Group 50 Var 4 question HOT 3
- support for g50v4 HOT 3
- support for partial responses HOT 3
- v1.5.0 not on crates.io? HOT 1
- Add cargo publish to CI release process
- dnp3 nugget ( Axon outstation with dnp3 master) HOT 1
- Native libraries fail to load when `java.io.tmpdir` is relative HOT 10
- Fatal error. System.AccessViolationException: dnp3.PInvoke.MasterChannelAddAssociation (Causing Application crash.) HOT 15
- Add support for writing files from master to outstation HOT 1
- Add UDP support HOT 1
- unsolicited only seems to send one fragment HOT 4
- Attemped to read or write protected memory HOT 1
- Cargo build error HOT 2
- output file versions don't match package version HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dnp3.