Commit Graph

36 Commits (9ce3226f9380fbcbbce3b439b55c078f46537d91)

Author SHA1 Message Date
David Kebler 9ce3226f93 set up socket/server for TLS option
using command Socket Class extending either plain or tls server class
2019-01-05 15:16:13 -08:00
David Kebler 63beca4199 Added server push method. Pushes to any/all connected clients with id='pushed' which clients can listen for
Add jsdoc documenation to source and did a few experiments with doc generators
2019-01-01 16:53:12 -08:00
David Kebler 6a8c2b1fca fixed initial timeout on connect rejection.
add in new option conPacket for pushing a packet to any connecting consumer from a socket/server
2018-07-31 17:17:39 -07:00
David Kebler 01c4756e26 with keepAlive set (by default) if the socket terminates the consumer will attempt to reconnect indefinitely 2018-07-30 19:07:03 -07:00
David Kebler 36d1cf629f fix file delete (unlink) so catches error uses promise 2018-05-27 13:05:38 -07:00
David Kebler 949bd5b3b1 add client tracking on server side and push notification processin to both. Pushed packets have _header.id of 'pushed' and server has new push method 2018-05-24 12:28:30 -07:00
David Kebler e2e59466be upgrade to esm from @std/esm 2018-05-16 07:21:51 -07:00
David Kebler 1f45aec2fa refactor options processing, remove opts.np 2018-03-02 08:34:10 -08:00
David Kebler 283957f641 fix bug with incoming packet cloning 2018-02-23 21:17:37 -08:00
David Kebler 19a2b6a150 updated dev dependencies 2018-02-23 13:45:22 -08:00
David Kebler 8dd5f05582 change imports to npm from local paths 2018-02-17 18:26:17 -08:00
David Kebler 5ada8cd43a cloned incoming socket side packet immediately before processing and copying over header. 2018-02-14 13:26:35 -08:00
David Kebler 450a85d8b9 switched to _header property for packet id
added sender and responder info to header
_header can now be used for anything specifically socket related
Fixed bug where socket must create a copy of processed packet to avoid issue when coder returns the original packet just altered from the packet processor
2018-02-13 13:51:58 -08:00
David Kebler 28768c8007 refactor send/write so send is async and will wait for reponse from socket.
write now makes sure to drain before allowing another packet write
refactored tests with new await send returning processed packet.
2018-02-12 17:10:41 -08:00
David Kebler d3b979b1fd catching errors in json stream serialize
added environment variable SOCKETS_DIR for socket directory
2018-02-11 19:58:22 -08:00
David Kebler 751491ee00 moved log options to top
refactor passed int opts  (path no longer passed separately)
removed .packet property moving process to root property
and thus _packetProcess is private method for packet processing
re-export in index both Socket and Consumer as named and as props of default
refactor test and examples accordingly
2018-02-03 14:13:49 -08:00
David Kebler bbc29317ee swtich to pino logging with uci-logger module 2018-02-01 17:26:27 -08:00
David Kebler 40d9565bf3 fix tcp options handling error
add id property
use _ for private methods
2018-01-31 13:48:00 -08:00
David Kebler 3beb53d2a3 removed context processing from modules (will be done in uci-base)
added connection retry for consumer when connection to socket fails
refactored tests and examples to suit
Got a start on readme file
2018-01-30 17:49:31 -08:00
David Kebler 2d38eab240 alter to passed options to class to better support both tcp and unix sockets with same class 2018-01-29 21:38:46 -08:00
David Kebler bb0ca93e43 make the class instance the default context for packet commands 2018-01-28 22:32:25 -08:00
David Kebler 1b846c4753 added packet property to hold processor and both local and added context in which to process packets for both socket and consumer
changed tests accordingly
2018-01-26 10:30:10 -08:00
David Kebler ab56bddd72 improved and debugged packet processing with corresponding better more exhaustive testing 2018-01-23 16:02:56 -08:00
David Kebler 0f82f4aedd fix app processor property that wasn't getting set 2018-01-22 12:18:34 -08:00
David Kebler 1fe0d71e0e replaced stream processing with more robust processing using buffer length using new JsonStream class 2018-01-21 20:04:19 -08:00
David Kebler 9d6a562cda improved/added example files 2018-01-20 14:30:21 -08:00
David Kebler c7d25521e8 added dual consumer testing of socket
catch if consumeris already connected and continue
2018-01-20 13:52:07 -08:00
David Kebler 4b13cef73a streamline class method binding and setting of packet processing function 2018-01-19 20:43:16 -08:00
David Kebler 57324c616c added chunck processing into JSON packets using newline delimiter
fixed left unix socket file bug
improved some defaults handling
added custom packet processing for tcp vs unix
2018-01-19 09:35:15 -08:00
David Kebler f0c6e96d02 added option for tcp socket so now module is just uci-socket. No authentification nor https at this point 2018-01-16 12:43:36 -08:00
David Kebler 2b14508d6f added in test, passing. Added in bunyan logger 2018-01-13 20:46:14 -08:00
David Kebler ae72d3af02 added handshaking from socket before finishing consumer connection, fixed async flow control issues, added in mocha test, improved passing of external app for packet processing 2018-01-10 20:33:39 -08:00
David Kebler e5167c3995 basic working socket-consumer modules with no handshaking but passing json objects 2018-01-08 13:06:01 -08:00
David Kebler 0290ec99a7 changing to esm .mjs module from .js using @std/esm 2018-01-08 13:04:32 -08:00
David Kebler c3e94b465e initial commit 2017-12-21 15:50:05 -08:00
David Kebler 6b9b399ee5 initial commit 2017-12-21 15:47:14 -08:00