Branch: refs/heads/master
  Home:   https://github.com/conformal/btcwallet
  Commit: 6a08c7de07cc715c6da3a8bb7338f56295e7691f
      
https://github.com/conformal/btcwallet/commit/6a08c7de07cc715c6da3a8bb7338f56295e7691f
  Author: Josh Rickmar <[email protected]>
  Date:   2014-02-01 (Sat, 01 Feb 2014)

  Changed paths:
    M account.go
    R accountstore.go
    A acctmgr.go
    R btcdrpc.go
    M cmd.go
    R cmdmgr.go
    M createtx.go
    M createtx_test.go
    M disksync.go
    A ntfns.go
    M rpc.go
    A rpcclient.go
    A rpcserver.go
    M sockets.go

  Log Message:
  -----------
  Redo account locking and RPC request processing.

This change removes the three separate mutexes which used to lock an
account's wallet, tx store, and utxo store.  Accounts no longer
contain any locking mechanism and rely on go's other synchronization
constructs (goroutines and channels) for correct access.

All accounts are now managed as a collection through the new
AccountManager, rather than the old AccountStore.  AccountManager runs
as its own goroutine to provide access to accounts.

RPC requests are now queued for handling, being denied if the queue
buffer is exhausted.  Notifications are also queued (instead of being
sent from their own goroutine after being received, in which order is
undefined), however, notifications are never dropped and will
potentially grow a queue of infinite size if unhandled.


Reply via email to