Comments (7)
For some reason I hadn't seen this issue! Sorry.
Namespaces are mainly intended for the Sockend component, and directly map to socket.io namespaces. However, if you look at the Component.js line 29 you will notice that all components make use of namespaces in discovery and connection.
The main reason for why the requester / responder syntax is not like randomRequest.send('topic', json, function(res) {
is because the goal was to keep the request object very simple — build a single object however you like, so you don't have to use multiple parameters. On the other hand, sending blobs is something we need to figure out. That was on our list.
Also, yes, I love this discussion and would love to think of a cote v2.
You can also check out kotelett, my attempt to simplify this, plus make connections dynamic, with even less configuration, based on what messages a service could respond to. I intended kotelett to be the next generation of cote.
from cote.
Ok for the namespace, you're right, it's used on discovery.
For the topic subject, that's purely some API/syntax question because I was surprised of the 'type' field. What append if the 'type' is not filled ? Not tested on my side but probably it's not working ?
Joel
from cote.
If there's no type in a request object, the responder throws it away, as it's not a legitimate request.
from cote.
Please check out kotelett. Your suggestion could be easily implemented there, and it's in fact much simpler to use than cote.
from cote.
Well it's not a problem for me, just surprising. On publisher you have:
randomPublisher.publish('update3', { val: 'should not be getting this' });
You have not:
randomPublisher.publish({ type: 'update3', val: 'should not be getting this' });
That's why I said it's only an API/syntax convenience/uniformity across cote library but for my own usage it does not matter.
from cote.
Well it's not a problem for me, just surprising. On publisher you have:
randomPublisher.publish('update3', { val: 'should not be getting this' });
@joelguittet This threw me off when I first started using cote as well. First time I tried using publisher i couldn't get it to work until i realized it takes type
as a function argument instead of a key on the payload object.
from cote.
@otothea yeah exactly, publisher is one way and requester is another way. Troubling.
from cote.
Related Issues (20)
- Subscriber binding a socket instead of connecting (client vs server) ?
- Round-robin mechanism leads to lost requests HOT 4
- Client lost data when service graceful shutdown
- cote.js actively maintained? HOT 2
- Support specific ip addresses of instances. HOT 8
- Using cotejs on k3s cluster HOT 2
- K3S Kubernetes Cluster: TypeError [ERR_INVALID_ARG_TYPE]: The "options.port" property must be one of type number or string. Received null HOT 8
- Invalid 'main' field - node-discover HOT 2
- hiredis dependency preventing using node versions > 10? HOT 3
- [QUESTION] Are broadcasts mandatory? HOT 3
- Remove hiredis dependency HOT 2
- Discovery not working HOT 2
- How can I allow anyone over the Internet to run replicas of a service? HOT 1
- Cote not working with AWS Autoscalling instances. HOT 3
- Select port used
- Can't start cote due to port issue HOT 2
- View IP address of incoming request/broadcast HOT 1
- Hide "no listeners found for event" log HOT 2
- Requester can see the Responder but dont send request to it 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 cote.