1
0
mirror of https://github.com/golang/go synced 2024-10-04 12:31:21 -06:00
Commit Graph

15 Commits

Author SHA1 Message Date
Rob Pike
1ffb1f2b66 netchan: add new method Hangup to terminate transmission on a channel
Fixes #1151.

R=rsc
CC=golang-dev
https://golang.org/cl/2469043
2010-10-18 15:09:43 -07:00
Rob Pike
12da5a90e0 log: new interface
New logging interface simplifies and generalizes.

1) Loggers now have only one output.
2) log.Stdout, Stderr, Crash and friends are gone.
	Logging is now always to standard error by default.
3) log.Panic* replaces log.Crash*.
4) Exiting and panicking are not part of the logger's state; instead
	the functions Exit* and Panic* simply call Exit or panic after
	printing.
5) There is now one 'standard logger'.  Instead of calling Stderr,
	use Print etc.  There are now triples, by analogy with fmt:
		Print, Println, Printf
	What was log.Stderr is now best represented by log.Println,
	since there are now separate Print and Println functions
	(and methods).
6) New functions SetOutput, SetFlags, and SetPrefix allow global
	editing of the standard logger's properties.   This is new
	functionality. For instance, one can call
		log.SetFlags(log.Lshortfile|log.Ltime|log.Lmicroseconds)
	to get all logging output to show file name, line number, and
	time stamp.

In short, for most purposes
	log.Stderr -> log.Println or log.Print
	log.Stderrf -> log.Printf
	log.Crash -> log.Panicln or log.Panic
	log.Crashf -> log.Panicf
	log.Exit -> log.Exitln or log.Exit
	log.Exitf -> log.Exitf (no change)

This has a slight breakage: since loggers now write only to one
output, existing calls to log.New() need to delete the second argument.
Also, custom loggers with exit or panic properties will need to be
reworked.

All package code updated to new interface.

The test has been reworked somewhat.

The old interface will be removed after the new release.
For now, its elements are marked 'deprecated' in their comments.

Fixes #1184.

R=rsc
CC=golang-dev
https://golang.org/cl/2419042
2010-10-12 12:59:18 -07:00
Russ Cox
2ee420fa5e ... changes
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/2273042
2010-09-24 11:55:48 -04:00
Nigel Tao
43527e9dbb netchan: fix comment typo.
R=adg
CC=golang-dev
https://golang.org/cl/2204047
2010-09-23 11:32:11 +10:00
Rob Pike
da705c6212 netchan: provide a method (Importer.Errors()) to recover protocol errors.
R=rsc
CC=golang-dev
https://golang.org/cl/2229044
2010-09-20 15:28:38 +10:00
Rob Pike
1e4b1f9337 netchan: handle closing of channels.
This also silences some misleading logging.
Also improve logging.

R=rsc
CC=golang-dev
https://golang.org/cl/2245041
2010-09-20 10:14:39 +10:00
Rob Pike
381ab58e2c netchan: fix bug for imported send.
Also add a bit of debugging and sanitation code.
Fixes #769.

R=adg
CC=golang-dev
https://golang.org/cl/2206042
2010-09-16 13:59:31 +10:00
Rob Pike
8d831de685 netchan: make -1 unlimited, as advertised.
R=adg
CC=golang-dev
https://golang.org/cl/2198042
2010-09-14 23:41:37 -07:00
Rob Pike
d54b921c9b netchan: use acknowledgements on export send.
Also add exporter.Drain() to wait for completion.
This makes it possible for an Exporter to fire off a message
and wait (by calling Drain) for the message to be received,
even if a client has yet to call to retrieve it.

Once this design is settled, I'll do the same for import send.

Testing strategies welcome.  I have some working stand-alone
tests.

R=rsc
CC=golang-dev
https://golang.org/cl/2137041
2010-09-04 23:41:54 +10:00
Rob Pike
3d76135ee5 netchan: rather than 0, make -1 mean infinite, by analogy with strings.Split etc.
It's unlikely to affect any extant code, but I wanted to make this API change
before digging in for a rewrite.

R=rsc
CC=golang-dev
https://golang.org/cl/2112041
2010-09-02 08:10:53 +10:00
Rob Pike
d4384ff7f5 netchan: use gob DecodeValue to eliminate the need for a pointer value
in Import and Export.

R=rsc
CC=golang-dev
https://golang.org/cl/1707047
2010-06-28 17:12:09 -07:00
Rob Pike
eb20ba6d01 netchan: allow chan of basic types now that gob can handle such
R=rsc
CC=golang-dev
https://golang.org/cl/1741041
2010-06-28 15:59:54 -07:00
Rob Pike
752b47cfc5 netchan: improve closing and shutdown. there's still more to do.
Fixes #805.

R=rsc
CC=golang-dev
https://golang.org/cl/1400041
2010-05-28 22:32:29 -07:00
Rob Pike
1b56947f84 netchan: allow client to send as well as receive.
much rewriting and improving, but it's still experimental.

R=rsc
CC=golang-dev
https://golang.org/cl/875045
2010-04-13 13:49:42 -07:00
Rob Pike
4d45dd3268 first part of networked channels.
limitations:
	poor error handling
	teardown not done
	exporter must send, importer must receive
	testing is rudimentary at best

R=rsc
CC=golang-dev
https://golang.org/cl/186234
2010-01-20 14:12:29 +11:00