Commit Graph

26 Commits (1b3d5fceb7efcd11fd65f219cfbe17ba374c9faf)

Author SHA1 Message Date
David Kebler 1b3d5fceb7 refactored socket initialization to better catch and emit errors and remove offending sockets
will now emit 'error', 'warn', 'fatal'  when needed so instance can track and track easier and take action (like notification)
sockets will bubble these up now.
2019-08-29 13:41:32 -07:00
David Kebler 3bf0110164 0.1.26
refactored amend methods
added transport validation
changed default name spaces to all start with _ to avoid accidential namespace issues
refactored examples to showcase all possibilities with a four in one (fio) example
refactored ha hooks
added matching websocket client
all works changes made by one socket are pushed to all sockets where they do their updates including home assistant
added a home assistant package file including lovelace yaml for matching HA interface.
2019-08-28 09:15:02 -07:00
David Kebler 21718d3998 0.1.25 Update all deps, add home assistant mqtt example 2019-08-15 13:39:35 -07:00
David Kebler f9503dcbf9 0.1.24 updated socket again 2019-05-02 06:38:12 -07:00
David Kebler e1859bd1e2 0.1.23 update socket 2019-05-02 06:37:56 -07:00
David Kebler c1d35f7c0f 0.1.22 bump because of change in uci-socket 2019-05-01 15:38:20 -07:00
David Kebler 903d907201 0.1.21 add info to ack package so one can see it's just the default ack
update socket deps for changes in error handling
2019-04-28 10:00:44 -07:00
David Kebler ea1342272e 0.1.20
changed default commands handling, removed _default namespace
changed s and c name spaces to use ._c, and _s as default name spaces
amend commands work with above ._c and ._s props
changed .socket to ._socket to avoid namespace issues with instances using .socket.  Instances should use the getSocket method!
copied host and port options to connect. for mqtt socket to make setting those more standard
cleaned up logging
Add hooking for before send, and before and after process
Improved/cleaned preempting default processing
2019-04-27 12:10:56 -07:00
David Kebler 6da51d453f 0.1.19 add ack to default socket commands, add socketsListen and consumersListen and private _eventListen methods 2019-04-26 11:00:56 -07:00
David Kebler 3ab37ae694 0.1.18 updated of uci socket 2019-03-24 11:50:08 -07:00
David Kebler 1359aa7d31 0.1.17 add removeSocket method, add final catch of all packet processing errors. 2019-03-17 13:55:29 -07:00
David Kebler 0a86774b17 0.1.16 update utility dependencies, improve the fio example so mqtt work correctly 2019-02-15 08:51:07 -08:00
David Kebler a5fa20b74a dependency updates 2019-02-15 08:51:06 -08:00
David Kebler 759949fb51 Refactored init method and added an "addSocket" method called from there.
This allows setting up sockets at construction or later at runtime via same call to addSocket.
2019-01-01 16:39:08 -08:00
David Kebler 20d2eb09cc fix adding root namespace to lookups 2018-05-28 14:18:20 -07:00
David Kebler 10077e207b began documentation in readme
by default removed root namespace checking must now set useRootNS to true to access command functions there.  This to avoid issuess like an 'on' function clashing with an emitter listerner.
2018-05-25 14:40:08 -07:00
David Kebler ea8253f4b0 added in mqtt as socket type
refactored with addSocket and initSocket for individual sockets
now can do runtime socket addition after init
2018-05-20 15:44:31 -07:00
David Kebler 78bcf3009a update to esm from @std/esm 2018-05-16 07:08:14 -07:00
David Kebler 5a0af4d75e add mqtt client as option to uci-base with uci-mqtt 2018-04-05 15:35:29 -07:00
David Kebler 2e07dab28d add bindFuncs method for binding a whole module of functions to the base instance (this) or a given call site
update deps
2018-02-23 21:18:06 -08:00
David Kebler d0173c045f With changes in socket module now send is async and returns the response from the socket.
send now transport send now process as many consumer sockets as have been created by pushing them onto array and the using promise.all and map to send out together.
Return for one than one is an array of responses.
getPacketByName was added to make it easy to grab just one of those in returned array.
2018-02-13 14:19:18 -08:00
David Kebler e5059368a9 changed sockets options now can add as many as you want of either type and transport
improved socket packet processing call now binds this and name of socket that received packet for processing
single common processor for all packets incoming (either consumer or socket)
default processing splits into socket or consumer
default processing has calls looking for packet cmd functions before returning error packet
1. Added Namespace // TODO
2. A Pariticular Sockect
3. Root of instance
4. The socket type and transport //TODO
5. The socket type
there are helper functions for adding cmd functions to any of these save the root instance we you can add directly.
2018-02-04 14:18:21 -08:00
David Kebler 3c1340baf0 fixed separation of packet properties for each socket type when customizing
add amendPacket.. and changed registerPacket to accept single type changes

The four-in-one example now using amend and register sucessfully
2018-01-29 21:52:24 -08:00
David Kebler a83646c4f6 refactor base so it works with latest uci-socket
four-in-one example working
make Base instance (this) the default context for all socket packet commands
2018-01-28 22:37:54 -08:00
David Kebler 3015798068 Nearly functional uci base module
supports one each unix tcp sockets and clients in any combination with default and custom packet processing
2018-01-18 21:32:07 -08:00
David Kebler c3e94b465e initial commit 2017-12-21 15:50:05 -08:00