Code Monkey home page Code Monkey logo

Comments (2)

0neblock avatar 0neblock commented on August 14, 2024

Hey @shortbloke, I've been working on it slowly over the last couple of weeks, you can find my progress on the 'https://github.com/0neblock/Arduino_SNMP/tree/snmp-manager' branch.

I'm struggling around some specifics of the API to provide for it. I'm trying to setup a "poller" so that you provide a bunch of OIDs, and the library autmatically polls them at a set interval.

I'm programming this while I don't actually have a need for using it, I'd just like to strengthen the library a little bit (and practice a bit more c++ as I go), so coming up with the API is much more dificult than when I had an actual use case.
Very happy for your input as you have had a real use for it before.

from arduino_snmp.

shortbloke avatar shortbloke commented on August 14, 2024

Thanks, I'll take a look at the branch.
Some initial thought (before I've looked at the branch, feel free to ignore)

  • A poller seems more of an example of implementation of the manager library or even a 3rd derivative project, than being the manager library. A good poller implementation will need to have spread polling (over poll interval) track the last poll time of each and every request to ensure an accurately repeated poll interval. The poller would likely also be responsible for retry logic, if it were added.
  • I'm not sure the manager should be part of the agent, it's unlikely most people will want/need both sets of capability at the same time, so having them separate, with some common shared libraries I think would make more sense.
  • Ideally, I think the manager should support making calls using GET, GET NEXT and GET-BULK, against more than 1 device, SET calls I suspect are a lower priority requirement.
  • WALK might need to handle WALKing devices that only support GET/GET-NEXT, and also support those that support GET-BULK, for better performance.
  • GET-BULK support would require strategies to stay within packet size limits, so has some added complexity, especially if the overall packet size is configurable.

Based on the limited amount of knowledge gained from people using my manager implementation, GET support seems key, being able to use an Async implementation is probably next on the list so that responses aren't missed if busy in some other method when the reply comes in.

from arduino_snmp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.