Commit Graph
109 Commits
Author SHA1 Message Date
Nathan Harris 39feecb4cb Add hash convenience commands with unit tests 2019-03-21 16:00:19 -07:00
Nathan Harris 17f77363ae Fix scan method and add unit test 2019-03-21 14:07:15 -07:00
Nathan Harris d7b029fe29 Add scan convenience method and refactor sscan to use new generic internal implementation for scan 2019-03-20 22:18:34 -07:00
Nathan Harris 9a51cf95eb Merge pull request #18 from Mordil/more-basic-commands
More basic commands
2019-03-20 14:16:41 -07:00
Nathan Harris 4c7fe40419 Add mset, msetnx, mget, incr, incrby, incrbyfloat, decr, and decrby convenience methods with unit tests 2019-03-20 14:13:11 -07:00
Nathan Harris 55fbbcc1f5 Reorganize code into related extensions 2019-03-20 13:22:40 -07:00
Nathan Harris 5a35a918ae Add extension to EventLoopFuture for RESPValueConvertible Values for easier mapping 2019-03-20 12:43:08 -07:00
Nathan Harris e4e32fd59a Merge pull request #17 from Mordil/14-logging
Add initial `swift-log` support for most paths
0.4.0
2019-03-18 22:06:20 -07:00
Nathan Harris 73d5930f34 Add initial swift-log support for most paths
Closes #14
2019-03-18 22:04:47 -07:00
Nathan Harris b6f53cfa8c Merge pull request #15 from Mordil/redis-protocols
Refactor `RedisConnection` and `RedisPipeline` into protocols.
2019-03-18 19:51:29 -07:00
Nathan Harris 6b30127f6b Refactor RedisConnection and RedisPipeline into protocols.
Motivation:

The goal of this commit is to make it easier for library users to implement their own types for creating connections and pipelines without losing all of the convenience command extensions.

This also splits executing commands from the concept of a "connection" to make it more swifty in `RedisPipeline`.
2019-03-18 19:48:36 -07:00
Nathan Harris 6825451963 Improve RedisConnection.close() to send a QUIT command to Redis before closing the channel from the client 2019-03-18 19:19:46 -07:00
Nathan Harris 35a4fa02ac Merge pull request #16 from Mordil/general-commands
General commands
2019-03-18 19:01:00 -07:00
Nathan Harris 9f505be4d2 Add echo, ping, and swapdb command extensions with unit tests 2019-03-18 18:59:12 -07:00
Nathan Harris 618481fe1e Add RESPValueConvertible conformance to Optional 2019-03-18 18:57:59 -07:00
Nathan Harris 5c32b97a0c Remove DispatchRedis 2019-03-17 14:06:21 -07:00
Nathan Harris 596b9b98cb Merge pull request #13 from Mordil/set-commands
Add all Set commands with unit tests
0.3.0
2019-03-12 23:15:48 -07:00
Nathan Harris 00bf027330 Add all Set commands with unit tests
This contributes to #10
2019-03-12 23:14:44 -07:00
Nathan Harris 571d7bce02 Housekeeping of code
- Move: `String.convertedToData()` to `NIORedisTests` as a test utility
- Change: URLs in code comments to be Markdown links
- Change: Code comments to be more correct
2019-03-12 14:42:11 -07:00
Nathan Harris a17bfff3ff Merge pull request #12 from Mordil/9-direct-bytebuffer
Update `RESPEncoder` to write to `ByteBuffer` directly
2019-03-12 14:35:15 -07:00
Nathan Harris 9c5db400b2 Update RESPEncoder to write to ByteBuffer directly
This is to remove the need of allocations with Foundation.Data before writing to the buffer.

We should see an estimated ~10% performance boost to encoding values.
2019-03-12 14:31:42 -07:00
Nathan Harris b4fc9f3ae5 Update to latest SwiftNIO 2019-03-11 21:41:13 -07:00
Nathan Harris 0e2808c9f7 Merge pull request #11 from tanner0101/nio2-ctx-fixes
nio 2 ctx fixes
2019-02-28 23:02:59 -08:00
tanner0101 5a831fad05 nio 2 ctx fixes 2019-02-28 22:05:42 -05:00
Nathan Harris 4d9afa5ba0 Update to latest NIO2 changes 2019-02-12 22:45:25 -08:00
Nathan Harris 8c9d034c24 Adopt Swift's Code of Conduct 2019-02-12 22:44:04 -08:00
Nathan Harris deac19553f resolve SR-9876 bug with different joined "implementation" 2019-02-11 16:15:19 -08:00
Nathan Harris 51e18f7149 remove unnecessary indirect label on RESPValue.array case 2019-02-11 16:14:34 -08:00
Nathan Harris dd58fb2cfe Split NIO ChannelHandler conformances into separate files from RESP Encoder/Decoder 2019-02-11 12:33:22 -08:00
Nathan Harris 5bdb92967b Rename RESPConvertible file to RESPValueConvertible to match type definition 2019-02-11 12:28:09 -08:00
Nathan Harris 4cbb84bc59 Merge pull request #8 from Mordil/proposal-update
Update code to match current proposal
2019-02-08 17:34:36 -08:00
Nathan Harris 90c3acbb82 Update docker images to vapor 2019-02-08 17:23:49 -08:00
Nathan Harris 7b9a349213 Rename RedisCommandContext.promise to responsePromise 2019-02-08 17:14:21 -08:00
Nathan Harris fff2486450 Update RESPConvertible to match proposal.
- Rename: `RESPConvertible` to `RESPValueConvertible`
- Change: `RESPValueConvertible.convertFromRESP(_:)` to be a non-throwing failable initializer
- Rename: `RESPValueConvertible.convertToRESP()` to non-throwing `convertedToRESPValue()`
2019-02-08 16:52:48 -08:00
Nathan Harris c80b8e7312 add contribution information 2019-02-08 00:16:58 -08:00
Nathan Harris 96af68f4b5 add additional details to README 2019-02-08 00:08:25 -08:00
Nathan Harris 229f9574d8 Update README 2019-02-07 23:43:08 -08:00
Nathan Harris 3867d44a7c add circle ci config 2019-02-07 09:25:02 -08:00
Nathan Harris e168b6c65e update to latest NIO2 2019-02-06 16:13:51 -08:00
Nathan Harris 148ebdc642 Help compiler in unit tests for type inference 2019-01-17 16:11:21 -08:00
Nathan Harris e25db7dcfd Make public factory method for "standard" NIORedis ClientBootstrap 2019-01-17 16:10:59 -08:00
Nathan Harris 1e160b0680 Make RedisDriver.eventLoopGroup public 2019-01-17 13:24:46 -08:00
Nathan Harris d8cd550931 Fix initializers not being public 2019-01-17 12:22:11 -08:00
Nathan Harris 473b3954ec Merge pull request #5 from Mordil/rev-2
Rev 2
0.2.0
2019-01-10 12:07:16 -08:00
Nathan Harris badf342391 Simplify README now that forum post is active 2019-01-10 12:06:42 -08:00
Nathan Harris 915b620fa3 Update package description for Swift 5.0 2019-01-10 11:56:17 -08:00
Nathan Harris c54f804ed8 Remove deprecation warnings for Data.init(bytes:) 2019-01-10 11:56:11 -08:00
Nathan Harris 7609a8455f Cleanup interactions with isRunning and isClosed properties 2019-01-10 11:33:47 -08:00
Nathan Harris dcf6b20af9 Make RESPValue.array properly indirect 2019-01-09 20:31:50 -08:00
Nathan Harris 2bb74cad84 Rename ExecutionModel to ThreadOwnershipModel with internal and external cases 2019-01-09 18:28:06 -08:00