Commit Graph

258 Commits

Author SHA1 Message Date
Josh Baker bafb1823b3 Metadata for Webhooks
Added the `META name value` keyword to the SETHOOK command.

Allows for adding metadata to a webhook. For example:

    SETHOOK myhook http://endpoint/ META m1 12 META m2 13 NEARBY ...

Would result in notification that contain the "meta" element, which is
represented like:

    "meta":{"m1":"12","m2":"13"}

Thanks for the suggestion @amorskoy

closed #105
2016-12-29 08:50:54 -07:00
Josh Baker 73fd3cf7de Added PDEL command
PDEL key pattern

Removes all objects where the id matches the pattern

Thanks to @GameFreedom for the suggestion. closes #104
2016-12-29 07:53:01 -07:00
Josh Baker 20feacb10d fixed #107, memory leak 2016-12-29 06:27:37 -07:00
Josh Baker ab6f787031 Merge branch 'master' of https://github.com/tidwall/tile38 2016-12-29 06:27:23 -07:00
Josh Baker 3e3d364911 test app for #107 2016-12-28 11:16:28 -07:00
Josh Baker ce27e169b1 added docker badge 2016-12-24 10:55:11 -07:00
Josh Baker b8a0f59b81 Merge branch 'leak' into memoptz 2016-12-22 14:53:29 -07:00
Josh Baker 5d378b8ec9 debug.FreeOSMemory 2016-12-22 14:52:37 -07:00
Josh Baker fd29f8872f use gzip for many properties 2016-12-17 12:20:55 -07:00
Josh Baker 19da27b562 removed unused return value 2016-12-16 14:02:58 -07:00
Josh Baker eab4973c20 link to node_redis example code 2016-12-16 08:18:15 -07:00
Josh Baker 654391d0ef link to node_redis example 2016-12-16 08:17:15 -07:00
Josh Baker ef74a63c79 Add SCAN to Roaming Geofences
Can now get back more details about an object:

     NEARBY people FENCE ROAM people * 5000 SCAN :*

For more information see #96

Thanks @amorskoy for suggesting feature in #93

Closes #96
2016-12-15 11:37:38 -07:00
Josh Baker 6c52f3f3f1 added command filter for geofences
It's now possible to mask the fence notifications based on the
command. For example, if we only want "set" and "del" commands.

NEARBY fleet FENCE COMMANDS set,del POINT 33 -115 10000

Suggested by @amorskoy, closes #99
2016-12-15 10:00:08 -07:00
Josh Baker b6c645791f output json fix #98 2016-12-14 18:19:30 -07:00
Josh Baker bf0fee122d persist jset, jdel to aof. fixes #98 2016-12-14 07:37:02 -07:00
Josh Baker 44cf149325 added JSET, JGET, JDEL commands
JSET key id path value [RAW]
JGET key id path [RAW]
JDEL key id path

Allows for working with JSON strings, for example:

  JSET user 901 name Tom
  JGET user 901
  > '{"name":"Tom"}'
  JSET user 901 name.first Tom
  JSET user 901 name.last Anderson
  > '{"name":{"first":"Tom","last":"Anderson"}'
  JDEL user 901 name.last
  > '{"name":{"first":"Tom"}'

All commands use the GJSON path syntax, for more information:

  Setting JSON: https://github.com/tidwall/sjson
  Getting JSON: https://github.com/tidwall/gjson
2016-12-12 10:33:28 -07:00
Josh Baker 78a959ce96 1.6.0 2016-12-11 16:27:33 -07:00
Josh Baker 3a483e55ff Group geofence events
Feature request by @huangpeizhi #87
2016-12-06 10:30:48 -07:00
Josh Baker 32014e7560 Added description of coordinate system
Thanks to @icewukong for this suggestion.

closes #35
2016-12-06 06:48:17 -07:00
Josh Baker 3c8b9b4110 Allow for INTERSECTS command for points
Thanks to @rbastian for finding this bug.

fixes #26
2016-12-06 06:20:47 -07:00
Josh Baker 0afdf67c90 fix to aof corruption during aofshrink command.
This addresses an issue #73 that @huangpeizhi discovered while using
Tile38 in production where AOFSHRINK sometimes corrupts the database
causing the server to not start the next time.
2016-12-05 16:24:26 -07:00
Josh Baker 196016688b Changed winding order for CirclePolygon to CCW
Thanks @antonioromano for finding this bug and suggesting the fix.

closes #91
2016-12-05 08:06:48 -07:00
Josh Baker ae0eb64526 updated stats test 2016-12-04 12:35:04 -07:00
Josh Baker 06c873a3e8 Merge branch 'master' into memoptz 2016-12-04 12:15:09 -07:00
Josh Baker 204b3ef724 fixed raycast bug 2016-12-04 08:57:54 -07:00
Josh Baker 2e41d49c4b wip tests 2016-12-04 08:52:38 -07:00
Josh Baker a664bade48 added black-box testing 2016-12-02 09:14:34 -07:00
Josh Baker e1bf322337 Update README.md 2016-11-21 11:15:09 -07:00
Josh Baker 025a584903 Merge branch 'master' into memoptz 2016-11-17 09:41:02 -07:00
Josh Baker 7590498c4f 1.5.4 2016-11-17 09:22:17 -07:00
Josh Baker 76ce0e58b2 fix #84, roaming fence deadlock 2016-11-17 09:04:31 -07:00
Josh Baker 8d7290915e doc typos 2016-11-16 13:01:19 -07:00
Josh Baker d7e5c2979b Merge branch 'master' into memoptz 2016-11-16 12:32:22 -07:00
Josh Baker 3b209723ef 1.5.3 2016-11-16 12:31:42 -07:00
Josh Baker e286663e23 Merge branch 'master' into memoptz 2016-11-14 11:05:53 -07:00
Josh Baker d61b194e49 allow for precise search for strings, fixes #82 2016-11-14 11:05:28 -07:00
Josh Baker cbeab30d5e allow for precise search for strings, fixes #82 2016-11-14 11:03:54 -07:00
Josh Baker 5ec3111e8b faster congruent modulo for points, fixes #83 2016-11-14 10:27:18 -07:00
Josh Baker fa74d14942 Merge branch 'master' into memoptz 2016-11-14 08:23:06 -07:00
Josh Baker fbeecaacd9 faster aof loading
About 30% faster loading of AOF file during server restart.
2016-11-09 13:43:57 -07:00
Josh Baker 1ac6ad9ebd optimized idprops field for #71 2016-11-07 13:04:21 -07:00
Josh Baker e7b9d2e273 Merge branch 'master' of https://github.com/tidwall/tile38 2016-11-02 09:16:41 -07:00
Josh Baker 062da50888 match on prefix star, fixes #76 2016-11-02 09:15:48 -07:00
Josh Baker d6f83adb30 match on prefix star, fixes #76w 2016-11-02 09:15:11 -07:00
Josh Baker bdcbc9c7cc strip whitespace from properties 2016-11-02 06:35:05 -07:00
Josh Baker 659a715065 Optimized GeoJSON
Removed map[string]interface{} for Feature type.
Replaced "encoding/json" with "tidwall/gjson" for parsing.
Removed ablility to serialize to binary. JSON only.
2016-11-02 05:51:48 -07:00
Josh Baker fbff0f4eef fix #77 NX/XX bug 2016-10-31 10:17:30 -07:00
Josh Baker 36ab60b89c added stats.mem_alloc field 2016-10-24 15:58:30 -07:00
Josh Baker bb2bb451b2 memory optimizations
increased b-tree degrees from 16 to 48
increased r-tree degress from 8 to 15
changed r-tree from float64 to float32
2016-10-24 15:35:47 -07:00