Commit Graph
116 Commits
Author SHA1 Message Date
Nathan Harris f4e646c1aa Audit convenience commands
Motivation:

Performance, clarity, and uniformity with code documentation, Swift API, and data types.
2019-03-25 13:37:40 -07:00
Nathan HarrisandGitHub 601431ac9e Merge pull request #21 from Mordil/sorted-set-commands
Add convenience command methods for Sorted Set with unit tests
2019-03-23 22:31:00 -07:00
Nathan Harris bcc7f71186 Add convenience command methods for Sorted Set with unit tests 2019-03-23 22:29:38 -07:00
Nathan HarrisandGitHub 1c5eab6030 Merge pull request #20 from Mordil/list-commands
Add list convenience commands with unit tests
2019-03-21 19:45:32 -07:00
Nathan Harris 050ad64eaa Add list convenience commands with unit tests 2019-03-21 19:41:29 -07:00
Nathan Harris 21fc0a4031 Make extension properties on RESPValue to all be public 2019-03-21 19:41:08 -07:00
Nathan HarrisandGitHub f3a9b321a6 Merge pull request #19 from Mordil/hash-commands
Add hash convenience commands with unit tests
2019-03-21 16:05:04 -07:00
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 HarrisandGitHub 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 HarrisandGitHub 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 HarrisandGitHub 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 HarrisandGitHub 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 HarrisandGitHub 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 HarrisandNathan 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 HarrisandGitHub 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 HarrisandGitHub 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 HarrisandGitHub 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