Comments (4)
Sorry, we may be able to disregard/close my feature request, as the CoAP client that I'm looking to interface with may be able to handle notifications that come from somewhere different to where the initial GET+OBS request was sent. e.g.
- The CoAP client sends the GET+OBS request to the server IP targeting UDP port 5683.
- The CoAP server (Program A) acknowledges the request.
- The CoAP server stores the observer's IP, Port and Token within an observer list.
- Then, a separate program (Program B, which may or may not run on a different server), decides that a notification needs to be sent to an observer.
- Program B uses the observer IP, Port and Token from the observer list to send a notification packet that targets the observer's IP and Port.
- However, the notification comes from a source IP:Port that is not the same as the Server IP and Port that the client's GET+OBS request initially targeted.
- The CoAP client accepts the notification, and if the notification is confirmable, sends the acknowledgement to the notification sender (Program B) and not to the Server IP on UDP port 5683 (Program A).
Please give me a few days to confirm if I need the feature that my first post asked for. And if I no longer need this feature, and if nobody else adds a comment to say that they want this feature, I'll close it and apologise for wasting everybody's time.
from coap-rs.
I've confirmed that my distributed server approach does not work. i.e. A separate program that handles notifications separately to the main CoAP server is not feasible for the CoAP clients that my program needs to communicate with. The primary reason is that when we implement DTLS, I've been told that it will not be feasible to modify the CoAP client to accept notifications that come from a different IP:Port source.
So, to reword my feature request in simple terms...
Can a feature be added that allows the CoAP server, while running (i.e. while server.run() is listening for CoAP packets), to be told to send a notification packet to a specific CoAP observer?
from coap-rs.
I don't think it's appropriate to implement in a CoAP library. The library should only contain implementations of the protocol. You can implement it by your self.
from coap-rs.
Closed. Reopen it if you have any new problem about it.
from coap-rs.
Related Issues (20)
- Generic subject observer (RFC 7641) support HOT 5
- Server::run abruptly returns when a response payload is too large HOT 4
- Observe requests crash server if the client uses an empty vec![] to represent Observe: 0
- Migrate to Rust 2021 edition HOT 1
- Updating observes from server? HOT 10
- Crash when using python aiocoap HOT 2
- Unexpected panic due to network connectivity state HOT 1
- Outdated documentation refrenced HOT 1
- Message IDs and tokens not set HOT 2
- Client: Separate responses not processed HOT 2
- GET, POST etc. with Uri-Host HOT 2
- Blockwise transfer for with a request payload HOT 4
- Server response retransmission due to duplicate client request (duplicate MID) HOT 3
- Update coap-lite dependency HOT 2
- 0.12.2's update of coap-lite is incompatible HOT 1
- No easy way to set options in client requests HOT 8
- The observer implementation and my use case HOT 7
- Mio 1.8.8 incompatible with newer Tokio versions HOT 3
- observe uses hard-coded default receive timeout HOT 1
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 coap-rs.