Commit Graph

505 Commits

Author SHA1 Message Date
mike kabischev 2ddb9375f6 fix leaking http connections 2017-02-10 16:17:57 +03:00
Josh Baker 22f1b1bd81 resend on expired endpoint 2017-02-10 05:27:02 -07:00
Josh Baker 56e0bac24c TCP Keepalives
Enabled TCP keepalive packets to determine if the connection is still
valid, and terminate if needed. It also helps with maintaining idle
connections.

Default to 300 seconds and can be changed by:

    CONFIG SET keepalive 300

addresses #145: clients not being cleaned up properly
2017-02-09 10:01:59 -07:00
Josh Baker 9a37f33a2c Merge branch 'gojuno-master' 2017-02-09 09:12:57 -07:00
mike kabischev 237d4b2284 fix #143 broken hook data 2017-02-08 14:16:54 +03:00
Josh Baker 6f5bb459e1 added link to node-tile38 client
Peter Hulst (@phulst) created a new Node.js client designed specifically for Tile38!
https://github.com/phulst/node-tile38
2017-02-06 03:59:09 -07:00
Josh Baker 04290ec535 KNN results for NEARBY command
This commit includes the ability to search for k nearest neighbors using
a NEARBY command. When the LIMIT keyword is included and the 'meters'
param is excluded, the knn algorithm will be used instead of the
standard overlap+haversine algorithm.

   NEARBY fleet LIMIT 10 POINT 33.5 -115.8

This will find the 10 closest points to 33.5,-115.8.

closes #136, #130, and #138.
ping @tomquas, @joernroeder, and @m1ome
2017-01-30 16:41:12 -07:00
Josh Baker 49e1fcce7a Added CLIENT command
CLIENT LIST
CLIENT SETNAME name
CLIENT GETNAME
CLIENT KILL [ip:port] [ID client-id] [ADDR ip:port]

The CLIENT LIST command returns

  One client connection per line (separated by LF)
  Each line is composed of a succession of property=value
  fields separated by a space character.

  id: an unique 64-bit client ID
  addr: address/port of the clien
  age: total duration of the connection in seconds
  idle: idle time of the connection in seconds
  name: the name of the client

Suggested by @UriHendler, closes #139
2017-01-30 11:35:42 -07:00
Josh Baker 4d36e359ff Merge branch 'm1ome-gc-config' 2017-01-21 17:11:04 -07:00
Josh Baker 6b92d923d8 added debug log 2017-01-21 17:10:43 -07:00
w1n2k 69b62e97e3 Lock refactoring 2017-01-20 12:09:39 +03:00
w1n2k f0fb28c68d Implemented hot swap of autogc 2017-01-19 19:00:14 +03:00
w1n2k e65e5842f4 Implementing autogc configuration support 2017-01-19 11:23:42 +03:00
Josh Baker 8a8a526e40 fix cache issue 2017-01-13 10:34:37 -07:00
Josh Baker d2379fae18 fix cache issue 2017-01-13 10:34:27 -07:00
Josh Baker af0104da0c 1.7.5 2017-01-13 10:25:41 -07:00
Josh Baker 627555cdc8 Merge branch 'memoptz' 2017-01-13 10:03:02 -07:00
Josh Baker 2945479321 Allow 3d object searches with 2d geojson area
fixes #127
2017-01-13 09:31:35 -07:00
Josh Baker 9fb312b3cc updated docs, fixes #117 2017-01-13 09:04:09 -07:00
Josh Baker cadf6cb851 Added http-transport to SERVER call
* fixed index out of range error when --http-transport provided
  without value.
2017-01-13 08:53:01 -07:00
Josh Baker 23e846e9df Merge branch 'master' of https://github.com/tidwall/tile38 2017-01-13 08:45:55 -07:00
Pavel Makarenko a4e5d38461 Disable HTTP & WebSocket transports on demand. (#128)
* Added .idea folder into .gitignore

* Added --http-transport flag

* Fixed test & Removed some dumps

* Added support of yes/no
2017-01-13 08:45:28 -07:00
Pavel Makarenko 06dbb14562 Fixed [Unexpected] EOF bug with websockets (#126)
* Fixed [Unexpected] EOF bug with websockets

* Fixed condition
2017-01-13 08:26:58 -07:00
Josh Baker 45b5cb50d0 Merge branch 'bug-118' of https://github.com/m1ome/tile38 2017-01-13 08:24:00 -07:00
Josh Baker e9fa4ff0b3 minor optimization 2017-01-13 08:04:33 -07:00
Pavel Makarenko 37c8fd298f Redis endpoint for webhooks (#123)
* Added redis endpoint

* Minor CS fixes
2017-01-13 08:01:34 -07:00
w1n2k 4d446aeb77 Fixed condition 2017-01-13 00:22:14 +03:00
w1n2k d1288f834c Merge remote-tracking branch 'upstream/master' into bug-118 2017-01-12 17:46:50 +03:00
w1n2k e6b0e2efa5 Fixed [Unexpected] EOF bug with websockets 2017-01-12 17:00:39 +03:00
Pavel Makarenko 4300feccd6 Fixed #124: Added Content-Type json to HTTP headers (#125)
* Fixed #124: Added Content-Type json to HTTP headers

* Moved setting header after creation of request
2017-01-11 04:41:58 -07:00
Josh Baker a63cd20703 Merge pull request #122 from m1ome/fixed-disque-typo
[FIX] Typo fix
2017-01-11 03:58:34 -07:00
w1n2k 872f4c95b2 Fixed disque typo timeout handling 2017-01-11 09:06:19 +03:00
Josh Baker b55721a6c0 Gitter badge
Created a new Gitter room at https://gitter.im/tile38/tile38
closes #120
2017-01-10 12:16:55 -07:00
Josh Baker 83975f80cc Merge pull request #119 from m1ome/nearby-distance
Added distance to NEARBY command
2017-01-10 11:06:03 -07:00
w1n2k 44a596b12b Added DISTANCE to command generation 2017-01-10 21:03:09 +03:00
w1n2k 1b20a4c590 Added distance to NEARBY command 2017-01-10 19:49:48 +03:00
Josh Baker c02609ad44 Fixed missing response in TTL json command
Using the tile38-cli, the TTL command omitted the ttl value from the
json response.

For example:

    127.0.0.1:9851> TTL my ufo
    {"ok":true,"elapsed":"5.57µs"}

Is now fixed to show
    127.0.0.1:9851> TTL my ufo
    {"ok":true,"ttl":-1,"elapsed":"5.57µs"}

Where "ttl" is the remaining time before the object is is deleted.
The value -1 means that the object is available, but does not have
an expiration.

Thanks @phulst for finding this bug. closes #116
2017-01-07 09:27:36 -07:00
Josh Baker d3164f8bb9 fixed error in command documentation
The COMMANDS keyword was incorrectly documentated as COMMAND.

Thanks to @juanpabloaj for discovering this. closes #117
2017-01-07 09:10:06 -07:00
Josh Baker b1c296043a added more example code
Thanks to @tomquas (#40), @beyoung (#101), and @enc (#101) for providing example code.
2017-01-02 10:01:07 -07:00
Josh Baker 0a1fd7c257 mention Homebrew 2016-12-31 11:32:16 -07:00
Josh Baker 738f7eb43c removed panic 2016-12-31 09:39:39 -07:00
Josh Baker b9e61777e6 moved fields to a collection map 2016-12-31 09:29:02 -07:00
Josh Baker d6ca25d14b updated collection ReplaceOrInsert 10% bump 2016-12-30 18:12:18 -07:00
Josh Baker 12bf65bbb9 wip 2016-12-30 14:18:28 -07:00
Josh Baker 34ae007700 1.7.0 2016-12-29 11:54:35 -07:00
Josh Baker d47279e1ff removed gzipped feature 2016-12-29 11:54:21 -07:00
Josh Baker 63268dad3f added PDEL test 2016-12-29 10:43:22 -07:00
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