Commit Graph

61 Commits

Author SHA1 Message Date
Tom Arrell c746dbc05b
fix: race condition in initialisation of server 2023-01-20 15:12:37 +01:00
tidwall 8b671291b8 Fix race condition on server close
closes #61
2023-01-12 09:18:56 -07:00
tidwall 52d396ed1e Avoid write after partial write 2022-04-21 07:27:33 -07:00
tidwall e0f7ba0ab8 Fix redcon.Serve never returning.
Server should return when the base Listener has been closed.

See #46
2022-03-22 11:38:43 -07:00
tidwall 30bcac2aaa Rename variable 2022-03-22 10:58:06 -07:00
Josh Baker 12fd027cec
Merge pull request #48 from shankai/master
Fix: unsubscribe single channel from (p)subscribe.
2022-03-22 10:55:55 -07:00
willxm 59eed04765 typo 2022-03-01 15:44:25 +08:00
shankai 0f365a5602 Fix: unsubscribe single channel from (p)subscribe. 2021-07-15 18:44:48 +08:00
tidwall 730a465d73 Cleanup test file 2021-03-30 07:41:08 -07:00
tidwall 0205c889f6 Added SetIdleClose
It's now possible to automatically close idle connections by
calling the SetIdleClose method.

    s := redcon.NewServer(...)
    s.SetIdleClose(time.Minute*5)
    s.ListenAndServe()

closed #34
2020-11-05 16:54:41 -07:00
tidwall a6a8495429 Refactor code 2020-10-31 07:13:26 -07:00
tidwall 157aa68817 Update Any rules 2020-03-06 10:08:10 -07:00
tidwall 1f5e70c2d8 Use int-bulk-strings for *Any calls 2020-03-06 09:32:11 -07:00
tidwall a389b6ca04 Added AppendAny 2020-03-03 14:16:44 -07:00
tidwall 72acf6b980 Removed closed check 2020-02-29 14:10:33 -07:00
tidwall fc7a9e8758 Added AcceptError function 2020-01-20 08:50:30 -07:00
tidwall a56a5c7c95 Do not fail on accept 2020-01-20 07:17:34 -07:00
tidwall 47f86dd29a Added WriteUint64 method 2019-12-18 19:45:32 -07:00
Oleg Ozimok a6727f990d add server mux 2019-04-07 21:03:47 +03:00
smallnest 0b1eb3f07a #22 export Serve method 2019-03-19 17:29:55 +08:00
Iwan Budi Kusnanto 75d62f9c0b Add server.Addr() : returns server's listen address.
Useful to get actual listen address when we listen to random
port (localhost:0).

Also move the `s.ln=ln` assignment from `serve` to
`ListenServeAndSignal` to avoid race condition.
2018-02-28 22:01:57 +07:00
Chris Van de Gejuchte d2f164462f adds NewServerTLS 2017-10-02 11:08:29 +02:00
Chris Van de Gejuchte 61c5beb419 Adds tls support 2017-09-21 12:15:47 +02:00
Josh Baker d8057d9c4c added byte appending code 2017-06-25 21:53:51 -07:00
Josh Baker 2f1d649edb removed unneeded comparison 2017-06-16 09:38:45 -07:00
Josh Baker b67f37f0b1 flush before close 2017-04-22 04:17:26 -07:00
Josh Baker 0be017aab7 remove byte conversion 2017-04-21 19:48:22 -07:00
Josh Baker 5cce96d461 append ints 2017-04-21 19:41:41 -07:00
Josh Baker 8b15dea700 exposed base net.Conn to interface 2017-02-09 10:32:15 -07:00
Josh Baker 6f1afba017 fix memory leak 2017-02-02 09:25:40 -07:00
Josh Baker 89a9dbebb2 support for unix domain sockets, fixes #6 2016-10-18 15:17:35 -07:00
Josh Baker bd8eb49594 allow apos wrapped vals for telnet, fixes #5 2016-10-14 09:00:32 -07:00
Josh Baker 3ca743f4c9 get base buffer 2016-10-08 10:53:01 -07:00
Josh Baker 3696c16b1d write int64s 2016-10-01 06:49:16 -07:00
Josh Baker c7babac35e typo 2016-09-26 15:56:25 -07:00
Josh Baker 012cb08670 peekpipeline 2016-09-26 15:51:47 -07:00
Josh Baker ffebbd588e read pipeline 2016-09-22 14:32:11 -07:00
Josh Baker 4380ff9799 write raw data 2016-09-22 13:11:27 -07:00
Josh Baker 67c21aa488 Major API update. Please see details.
The Redcon API has been changed to better reflect the wants of the
community. THIS IS A BREAKING COMMIT... sorry, it's a one time thing.

The changes include:

1. All commands and responses use []byte rather than string for data.
2. The handler signature has been changed from:
   func(conn redcon.Conn, args [][]string)
   to:
   func(conn redcon.Conn, cmd redcon.Command)
3. There's a new Reader and Writer types for reading commands and
   writing responses.

Performance remains the same.
2016-09-17 20:17:23 -07:00
Josh Baker 08e1ceff58 added Hijack func for detached connections 2016-09-13 11:32:47 -07:00
Josh Baker 8d2bcf15cc do not lcase command 2016-09-09 21:43:07 -07:00
Josh Baker 0ec132aed9 copy fix 2016-09-08 17:46:16 -07:00
Josh Baker e1ee7d9f1e default mem buffers 2016-09-07 06:19:55 -07:00
Josh Baker 9b05e8accd init wr zero 2016-09-07 06:04:39 -07:00
Josh Baker 639a7aff4b bytes interface 2016-09-07 05:50:27 -07:00
Josh Baker 4276409b25 memory optimizations 2016-09-06 22:56:44 -07:00
Josh Baker 349b9006f1 connection context 2016-08-29 07:01:30 -07:00
Jianfei Wang 0aadbbce23 add Conn.WriteBulkBytes 2016-08-23 20:54:17 +08:00
Josh Baker 0564b610bc isolate tcplistener 2016-08-22 11:11:30 -07:00
Josh Baker 869d600179 another data race 2016-08-22 11:07:42 -07:00