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
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
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
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
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
e168b6c65e
update to latest NIO2
2019-02-06 16:13:51 -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
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
Nathan Harris
1c0ee4fe6c
Update DispatchRedis module with new classes
2019-01-09 18:14:24 -08:00
Nathan Harris
1db5a045cf
Remove deprecated classes
2019-01-09 18:14:24 -08:00
Nathan Harris
cad203b9e7
Update command extensions
2019-01-09 18:14:24 -08:00
Nathan Harris
65d0afdfd0
Add RedisDriver to eventually replace NIORedis that works more deeply with NIO
2019-01-09 18:14:24 -08:00
Nathan Harris
2d95af59d9
Add RedisPipeline to eventually replace NIORedisPipeline that works more deeply with NIO
2019-01-09 18:14:24 -08:00
Nathan Harris
1469282930
Add RedisConnection to eventually replace NIORedisConnection that works more deeply with NIO
2019-01-09 18:14:24 -08:00
Nathan Harris
8cdcffd8cd
Add RedisCommandHandler to eventually replace RedisMessenger that works more deeply with NIO
2019-01-09 18:14:24 -08:00
Nathan Harris
19cbadc506
Clarify and make public RESPDecoder
2019-01-09 13:18:28 -08:00
Nathan Harris
e01cdf565d
Clarify and make public RESPEncoder
2019-01-09 13:10:59 -08:00
Nathan Harris
26e3ac2aab
Rename usage of RedisData to RESPValue or just RESP where it makes sense
2019-01-09 13:04:51 -08:00
Nathan Harris
473bdcbeed
Clarify module and project names
2019-01-09 12:44:41 -08:00
Nathan Harris
a35de887dd
Add NIORedisPipeline and RedisPipeline to allow chaining requests and receiving a single response
2019-01-07 19:37:19 -08:00
Nathan Harris
75efad98be
Rename redisPipeline property in NIORedisConnection to remove possible confusion on upcoming NIORedisPipeline structure
2019-01-07 19:29:54 -08:00
Nathan Harris
68e8c5e9cf
Restructure RedisMessenger to be a little more legible
2019-01-07 19:29:31 -08:00
Nathan Harris
87618befe4
Make RedisData convenience properties public
2019-01-07 13:34:00 -08:00
Nathan Harris
314532e014
Force RedisConnection to cleanup its resources
2018-12-22 20:26:36 -08:00
Nathan Harris
25595b45a5
Make RedisConnection use its queue
2018-12-22 20:24:47 -08:00
Nathan Harris
58ac3c1298
Add basic non-NIO wrappers for Redis
2018-12-22 16:22:04 -08:00
Nathan Harris
7a4a8e5913
Add authorization to Redis instances with passwords
2018-12-22 15:51:37 -08:00
Nathan Harris
5b1377b115
Add convienence methods for "basic" commands
2018-12-22 15:47:33 -08:00
Nathan Harris
a41fe56f96
Fix deinit assertion
2018-12-22 15:41:30 -08:00
Nathan Harris
dcfd81b259
Add NIORedis that handles creating new connections
2018-12-22 14:52:23 -08:00
Nathan Harris
20ec21a162
Add NIORedisConnection that handles combining all Channel handlers and actually connects to Redis
2018-12-22 14:51:05 -08:00
Nathan Harris
b759863dfa
Add RedisMessenger for handling read/write queues to Redis
2018-12-22 14:45:53 -08:00
Nathan Harris
a2753dacdf
audit visibility
2018-12-22 11:52:43 -08:00
Nathan Harris
1af3b24fad
Cleanup and add convienence init for RedisData
2018-12-21 23:03:37 -08:00
Nathan Harris
b5db463a46
Add RedisDataConvertible
2018-12-21 22:58:54 -08:00
Nathan Harris
e3c850e530
Add RedisDataEncoder with unit tests
2018-12-21 21:17:28 -08:00
Nathan Harris
15859bcf19
Fix decoding bug with arrays and remove unnecessary extensions
2018-12-18 22:55:40 -08:00
Nathan Harris
7d69d69869
Cleanup RedisDataDecoder and fully implement ByteToMessageDecoder conformance
2018-12-15 14:09:26 -08:00
Nathan Harris
c928204cf0
Fix bulkString bug
2018-12-15 14:01:16 -08:00
Nathan Harris
abcab12854
Add RedisError parsing unit test
2018-12-15 00:09:12 -08:00