Commit Graph

63 Commits

Author SHA1 Message Date
LiuYang 80393295c1
Correct way to save memory using write buffer pool and freeing net.http default buffers (#761)
**Summary of Changes**

1. Add an example that uses the write buffer pool

The loop process of the websocket connection is inner the http handler
at existing examples, This usage will cause the 8k buffer(4k read buffer
+ 4k write buffer) allocated by net.http can't be GC(Observed by heap
profiling, see picture below) . The purpose of saving memory is not
achieved even if the WriteBufferPool is used.

In example bufferpool, server process websocket connection in a new
goroutine, and the goroutine created by the net.http will exit, then the
8k buffer will be GC.


![heap](https://user-images.githubusercontent.com/12793501/148676918-872d1a6d-ce10-4146-ba01-7de114db09f5.png)

Co-authored-by: hakunaliu <hakunaliu@tencent.com>
Co-authored-by: Corey Daley <cdaley@redhat.com>
2023-08-17 11:25:09 -04:00
Gary Burd 2d6ee4c55c
Update autobahn example
- Update instructions to use docker.
- Cleanup config file.
2022-01-02 11:21:21 -08:00
Rn 2c89656910
Modify http Method String Literal to Variable (#728) 2021-12-19 11:21:45 -05:00
Gary Burd 1905f7e442
Update source to match output from gofmt 1.17 2021-12-17 22:48:51 -05:00
hellflame e8629af678
improve echo example (#671) 2021-04-24 09:20:22 -07:00
Sry Back I 81cef7da56
echo example: handle received messages as text, not HTML (#563) 2020-03-19 06:53:02 -07:00
Rubi e90f6db575
input autofocus (#564) 2020-03-19 06:50:48 -07:00
Ankur Gupta 95ba29eb98 Updated autobahn test suite URL
Fixes #436
2018-12-05 23:02:39 -08:00
Petr cd94665a65 Minor fixes in comments
* Fix typo

"netowrk" is a misspelling of "network"

* Fix export comment

Comment on exported type Hub should be of the form "Hub ..." (golint)
2018-04-15 20:20:28 -07:00
unknown 0647012449 Modify http status code to variable 2018-02-28 13:09:02 -08:00
claudia-jones 8fbc40be62 Simplify echo example client (#349)
Use existing `done` channel to signal that reader is done instead of closing the connection.
2018-02-18 16:00:50 -08:00
Gary Burd 58729a2165
Don't log 1006 error in chat example
This error is expected (Safari closes connections without sending a close
frame).

Fixes #323
2018-01-09 12:15:58 -08:00
Jordan Pittier cdedf21e58 examples/chat/client.go: avoid allocating []byte{} for PingMessage (#312)
It's useless and only gives more work to the GC.
2017-12-09 19:53:53 -08:00
fising 2b58522131 update README.md 2017-11-29 07:20:15 -08:00
Alain Gilbert 5755884efa
Add missing html tag in example/echo 2017-09-26 16:13:09 -07:00
Gary Burd ea4d1f681b Reduce memory used in chat example 2017-06-20 12:01:03 -07:00
Gary Burd 5ade364dff Improve examples
- Remove jQuery dependency in command example.
- Fix auto scroll on new content in chat and command example.
- Update chat and command example to use a static HTML file.
2017-02-15 17:01:07 -08:00
Gary Burd 804cb600d0 Prepared Messages (#211) 2017-02-14 09:41:18 -08:00
Shrumit Mehta 9bc973af06 Change text/template to html/template in the examples
Change text/template to html/template in examples
2017-02-13 10:21:12 -08:00
Aleksandr Andrienko 0e7877a5a1 Fix up README.md for command example. 2016-12-27 15:04:14 +02:00
Shivam Mamgain dc13401989 Fix documentation
Specify correct function name in README
2016-11-12 16:02:12 +05:30
Gary Burd 2aff870ef8 Improve command example
- Close connection cleanly on EOF from command.
2016-10-27 21:05:23 -07:00
Gary Burd 6257d10a8b Improve chat example
- Discuss concurrency and message coalescing in the README.
- Add comments to client.go explaining how concurrency requirements are
  met.
- Prevent developers from calling the Client.write method from outside
  of the writePump goroutine by removing the method. The code is now
  inlined in Client.writPump.
2016-10-25 16:48:54 -07:00
Gary Burd a0ef436d00 compression: add tests, rename option 2016-10-17 17:30:22 -07:00
Sam Broughton 295028b997 Fix typos in chat example 2016-08-02 07:24:52 +01:00
Gary Burd 5e2e56d5df Improve chat example
- Remove jQuery.
- Rename Conn to Client to avoid confusion with underlying ws
  connection.
- Remove global variables.
2016-07-18 16:08:34 -07:00
Ryan Havar b5afd49817 Update hub.go 2016-07-10 23:15:05 -05:00
Gary Burd 54f9decdbf Add description to the chat example readme 2016-07-01 11:57:38 -07:00
Gary Burd a68708917c Coalesce outbound messages in chat example 2016-06-06 16:20:22 -07:00
Gary Burd afffb15196 Merge branch 'varnames' 2016-05-26 21:01:19 -07:00
Gary Burd 24cddddcc0 Use single character receiver names in chat example 2016-05-26 21:00:24 -07:00
Gary Burd 2301bcbf5c Cleanup js in chat example 2016-05-26 10:19:40 -07:00
Jean de Klerk be95f72b73 Meaningful names for connection, message 2016-05-18 08:57:16 -06:00
Jean de Klerk a6108176e8 Meaningful names for hub 2016-05-18 08:56:16 -06:00
Gary Burd 6b3d49710b Fix filewatch example
Use last modified time when the time is parsed without error. This prevents an
extra file read at start of watch for a connection.

Fixes #125.
2016-04-21 17:30:17 -07:00
Gary Burd 5434f8b69b Improve IsUnexpectedCloseError examples 2016-01-19 18:24:46 -08:00
Gary Burd 844dd6d40e Add closing handshake code to echo example client 2015-12-09 16:50:38 -08:00
Gary Burd 361d4c0ffd Improve echo web UI
Based on feedback from anon.
2015-11-02 11:10:34 -08:00
Gary Burd c93e5540b8 Add web client to echo example 2015-11-02 10:39:51 -08:00
Gary Burd 567453a710 Require GET in Upgrader.Upgrade.
Return error if the request method is not GET.

Remove all request method tests from the examples.
2015-11-02 09:08:11 -08:00
Gary Burd 423912737d Improve documentation 2015-10-19 15:05:01 -07:00
Gary Burd d14d8b4715 Add pinging to command example 2015-10-18 18:17:26 -07:00
Gary Burd 7f59b56ea4 Fix DefaultDialar value
Initialize as pointer to struct with zero values as as implied by the
doc comment. This initialization matches similar values in the standard
library.
2015-10-18 15:41:02 -07:00
Gary Burd 0e33ab35f9 Fix race in command example
Close files in handler goroutine to avoid race.
Remove use of exec.Cmd. It's not adding anything.
2015-10-18 15:32:45 -07:00
Gary Burd f9219095ab Add command example 2015-10-18 13:32:14 -07:00
Henri Koski 20b4ee30ab Small typo fix in comment 2015-10-06 21:40:04 +03:00
Gary Burd 13e4d0621c Do not build files in echo example 2015-09-23 15:29:30 -07:00
Gary Burd d051d29231 Add client and server example 2015-09-23 15:23:26 -07:00
Gary Burd 6eb6ad425a Improve chat example documentation 2015-07-14 07:06:27 -07:00
Gaku Ueda 9dc53c0673 Fixed broken HTML for autobahn test server. 2014-12-24 03:15:18 -08:00