Felix Lange
fd9b03a431
ethlog: fix concurrency
...
Rather than spawning a new goroutine for each message,
run each log system in a dedicated goroutine.
Ensure that logging is still asynchronous by using a per-system buffer
(currently 500 messages). If it overflows all logging will hang,
but that's better than spawning indefinitely many goroutines.
2014-10-17 17:23:29 +02:00
Felix Lange
c090a77f1c
ethlog: simplify LogSystem interface
...
Messages are formatted by generic part, so the log system doesn't need
to provide formatting. This fixes the test from the previous commit.
As a small bonus, log systems now have access to the level of
the message. This could be used to provide colored logging in the
future.
2014-10-17 17:23:29 +02:00
Felix Lange
50f5ba5b0c
ethlog: add test for '%' in log message
...
This test fails because the log message is formatted twice.
2014-10-17 17:23:29 +02:00
Felix Lange
cbd785cfe8
ethvm, tests/*: use log level constants
2014-10-17 17:23:28 +02:00
Felix Lange
0165c18330
ethlog: use Godoc for code examples in documentation
...
This ensures that examples will actually compile.
2014-10-17 17:20:44 +02:00
Felix Lange
e0f93c74c5
ethlog: add Godoc documentation, remove README
2014-10-17 17:20:44 +02:00
Felix Lange
a6265cb49a
ethlog: verify that Flush is blocking in TestLoggerFlush
2014-10-17 17:20:44 +02:00
Felix Lange
793baf060a
ethlog: don't buffer output in TestConcurrentAddSystem
2014-10-17 17:20:44 +02:00
Felix Lange
ec132749aa
ethlog: improve TestLogSystem
...
It's now safe for concurrent access.
Output checking looks better.
2014-10-17 17:20:44 +02:00
Felix Lange
45d1052229
ethlog: fix StdLogSystem data race on level
2014-10-17 17:20:44 +02:00
Felix Lange
d5a7ba1626
ethlog: add test that adds log systems concurrently
2014-10-17 17:20:44 +02:00
Felix Lange
3b1296077b
ethlog: Reset before each test
2014-10-17 17:20:43 +02:00
Felix Lange
dac128a029
ethlog: fix test compilation error
2014-10-17 17:20:43 +02:00
Felix Lange
4e95cecfb9
ethlog: improve dispatch concurrency
...
This also fixes a deadlock in the tests.
2014-10-17 17:20:43 +02:00
obscuren
e183880d8b
arith test
2014-10-17 17:11:45 +02:00
obscuren
d7736a7bbb
Quick dirty peer update
2014-10-17 17:11:34 +02:00
Jeffrey Wilcke
df2b70853f
Merge pull request #58 from fjl/feature/event
...
Blocking event package
2014-10-17 17:10:34 +02:00
obscuren
3b70985284
added eth tester
2014-10-16 21:34:59 +02:00
Felix Lange
fa84e50ddb
event: panic for duplicate type
2014-10-16 18:59:28 +02:00
Felix Lange
ade980912d
ethreact: remove package
2014-10-16 18:51:21 +02:00
Felix Lange
28570ef109
eventer: remove package
2014-10-16 18:51:21 +02:00
Felix Lange
20cdb73862
ethchain: fix tests
2014-10-16 18:51:21 +02:00
Felix Lange
36cdab2068
all: use (blocking) event package instead of ethreact
2014-10-16 18:50:48 +02:00
Felix Lange
6906904896
event: make TypeMux zero value ready to use
2014-10-16 18:50:48 +02:00
Felix Lange
10bbf265b2
event: make Unsubscribe idempotent
2014-10-16 18:50:48 +02:00
Felix Lange
dac4a8f113
event: add some documentation
2014-10-16 18:50:48 +02:00
obscuren
93fcabd251
Fixed most of the tests
2014-10-16 18:27:05 +02:00
Felix Lange
f5b8775bed
event: new package for event multiplexer
2014-10-16 18:14:35 +02:00
obscuren
bb5038699e
Corrected package ....
2014-10-16 13:41:44 +02:00
obscuren
65cdb3436e
Updated tests
2014-10-16 13:40:46 +02:00
obscuren
86f789333a
Moved state reset to defered function
2014-10-16 13:39:30 +02:00
obscuren
febec5ca4a
Switch EXT* codes
2014-10-16 13:39:11 +02:00
obscuren
70f7a0be11
Use the state instead of the state object directly.
...
If a state gets reset and you still hold a pointer to the previous,
incorrect, state object you'll operate on the wrong object. Using the
state to set/get objects and attributes you won't have this problem
since the state will always have the correct object.
2014-10-16 13:38:21 +02:00
obscuren
311c6f8a3f
Fixed remote Arithmetic tests
2014-10-15 17:12:26 +02:00
obscuren
266d212094
Working on test suite
2014-10-15 00:41:00 +02:00
obscuren
3d177be73e
Couple of minor issues fixed
...
* CALLVALUE pushed incorrect value to the stack
* Set execution model to closure
2014-10-15 00:40:41 +02:00
obscuren
7ca7938d8e
Removed old installer script
2014-10-14 15:31:25 +02:00
obscuren
f55e39cf1a
Tests for native function calling
2014-10-14 13:37:26 +02:00
obscuren
393a92811b
Changed VM Test code
2014-10-14 12:21:46 +02:00
obscuren
c5bd32b0ad
Refactored VM to two separate VMs; std & debug
...
Standard VM should be about 10x faster than the debug VM. Some error
checking has been removed, all of the log statements and therefor quite
some unnecessary if-statements.
2014-10-14 11:48:52 +02:00
obscuren
2e894b668a
Max callstack
2014-10-11 00:41:37 +02:00
obscuren
cb845b9bc8
Implemented AR PoW
2014-10-10 22:44:20 +02:00
obscuren
56843ca0fc
Added some methods to comply to the PoW block interface
2014-10-10 22:42:37 +02:00
obscuren
e02c0fa808
Added generic big to 256 method. Implemented new iterator
2014-10-10 17:00:06 +02:00
obscuren
9b494c6869
Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop
2014-10-10 16:58:26 +02:00
Jeffrey Wilcke
3db6a8e92d
Merge pull request #57 from fjl/feature/raceless-ethereum-filters
...
Fix filter map race
2014-10-10 16:57:54 +02:00
Jeffrey Wilcke
6fec5bd32e
Merge pull request #56 from fjl/feature/raceless-eventer
...
Fix Eventer race
2014-10-10 16:57:50 +02:00
obscuren
6877660fe2
Implemented new iterator
2014-10-10 16:56:28 +02:00
Felix Lange
e83a999039
eth: fix filter map data race
...
This commit also documents (but doesn't enforce) that filters
are immutable while they're installed. This required a minor API
change.
2014-10-08 19:04:58 +02:00
Felix Lange
44674cb96c
eventer: fix data race
2014-10-08 16:31:08 +02:00