Comments (4)
the client implementation does it only for RemoteConfigStatus and PackageStatuses not for the EffectiveConfig, AgentHealth and AgentDescription. I was wondering if there was reason behind this?
The client implementation compresses all these messages. See NextMessage.PopPending implementation. Once the message is popped and sent these fields are unset and will be only set in the next message if they are modified via NextMessage.Update.
from opamp-go.
Thanks, that was helpful. I think my original question should have been more clear. Should the client push update to NextMessage even if there was no change and schedule send.
I am looking at this implementation b/w SetAgentDescription and SetRemoteConfigStatus.
opamp-go/client/internal/clientcommon.go
Lines 226 to 241 in 63c9165
opamp-go/client/internal/clientcommon.go
Lines 289 to 314 in 63c9165
from opamp-go.
Should the client push update to NextMessage even if there was no change and schedule send.
Do you mean the situation when for example SetRemoteConfigStatus
is called with a descr
parameter that is equal to the current c.ClientSyncedState.AgentDescription()
? You are right that in this case a message will be sent to the Server when with AgentDescription
field set when actually the field could have been omitted. We can make a deep comparison and avoid sending it, but the Server should be ready for this to happen anyway, so this should not result in any erroneous situation, it will be just unnecessary data sent.
from opamp-go.
Thanks for the clarification.
from opamp-go.
Related Issues (20)
- TestAgentIdentification/ws is flaky HOT 2
- httpsender will always fail to do retry request
- Capability to set auth header while package download HOT 1
- Capability to set RequestInstanceUid flag in AgentToServer msg as per the spec HOT 2
- Move certs helper code from /internal/examples to /internal or /internal/testhelper? HOT 1
- Return error if `Set` methods are called after `Stop` is called in HTTP client
- [security] audit repository tooling HOT 1
- [codecov] Reports compare to old base branch HOT 1
- Allow callbacks to contain a context
- Add renovate bot to update dependencies HOT 1
- Dependency Dashboard
- `ReceiverLoop` doesn't stop on cancelling context
- Handling pending messages when client is stopped
- ServerOfferedVersion and ServerOfferedHash are never changed HOT 1
- Follow HTTP redirects on websocket handshake failure
- Support multiple agents per WebSocket connection HOT 4
- opamp-go server impl is breaking traces HOT 2
- Log and return nil if client not started
- Data race in example supervisor
- OnOpampConnectionSettings/Accepted callbacks need re-thinking HOT 4
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 opamp-go.