Comments (1)
When trying to access a field of type
caf::node_id
e.g. through a status update (status.context().node
) Python exits with the error in the title.
As the error says the type from libcaf cannot be converted to a Python object, which makes sense, asbroker
does not ship with libcaf Python bindings.Is this intended behaviour? If so then the caf types should probably not be exposed to Python at all (see: _broker.cpp).
I just removed the EndpointInfo.node()
method as to minimize how much the CAF dependency is exposed here.
We would really like to use the node id in our project though, is there any supported way of doing so?
For the moment we discovered thatcontext.__repr__
looks like it contains the node id, which lets an endpoint identify its peers (on status updates) but asEndpoint::node_id
is not bound at all the endpoint cannot get its own id.
Yes, I agree being able to obtain the node ID string is helpful. Via
df6525e, there's now the additional repr()
available for Endpoint that prints a node ID, and additionally I've just made explicit node_id()
methods for both Endpoint
and EndpointInfo
.
This is just one example of unconvertible objects.
endpoint.peers()
is unable to convertstd::vector<broker::peer_info, std::allocator<broker::peer_info>>
. Unfortunately we are not sure if this happens because of the vector itself,broker::peer_info
or thestd::allocator
.
This should be fixed via 7582523.
from broker.
Related Issues (20)
- Improve or squelch error message: proxy 9 received an unexpected message: message(caf::sec::broken_promise) HOT 1
- Python: status_subscriber.get(timeout) causes TypeError
- Python: abort() on ctrl+c when .get() pending
- Python: get() method not releasing GIL
- Compiler warnings from CAF on Clang 14+
- Segfault in Zeek btests using current master HOT 2
- Zeek python broker related doubts HOT 1
- Websocket API: count is parsed as 63 bit unsigned integer HOT 2
- Explore moving `zeek.hh` into Zeek HOT 1
- Introduce versioning for the Zeek-layer serialization format
- Generic mechanism to add metadata to Zeek events.
- Websocket API: holes in vectors not preseved HOT 3
- docs/websocket: ISO 8601 discrepancies HOT 1
- Broker metrics port setting overriding BROKER_METRICS_PORT env variable HOT 2
- High caf thread utilization with 512 workers and 96 loggers HOT 10
- caf::actor_control_block::enqueue segfault when running supervisor.config-bare-mode test
- Websocket API: messages truncated to 4KB HOT 13
- Allow WebSocket and native clients on the same socket HOT 5
- clang-tidy fails with version 15+ HOT 2
- Metrics scalability performance issue in 6.0 HOT 12
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 broker.