Added timeout for filter & removed clipboard. Closes #350

This commit is contained in:
obscuren
2015-02-20 12:59:54 +01:00
parent 0006585391
commit 982f73fa6d
7 changed files with 129 additions and 82 deletions

View File

@ -20,10 +20,12 @@ import (
"encoding/json"
"io"
"net/http"
"time"
"github.com/ethereum/go-ethereum/ethutil"
"github.com/ethereum/go-ethereum/logger"
"github.com/ethereum/go-ethereum/state"
"github.com/ethereum/go-ethereum/xeth"
)
var rpclogger = logger.NewLogger("RPC")
@ -100,3 +102,34 @@ func toLogs(logs state.Logs) (ls []Log) {
return
}
type whisperFilter struct {
messages []xeth.WhisperMessage
timeout time.Time
}
func (w *whisperFilter) add(msgs ...xeth.WhisperMessage) {
w.messages = append(w.messages, msgs...)
}
func (w *whisperFilter) get() []xeth.WhisperMessage {
w.timeout = time.Now()
tmp := w.messages
w.messages = nil
return tmp
}
type logFilter struct {
logs state.Logs
timeout time.Time
}
func (l *logFilter) add(logs ...state.Log) {
l.logs = append(l.logs, logs...)
}
func (l *logFilter) get() state.Logs {
l.timeout = time.Now()
tmp := l.logs
l.logs = nil
return tmp
}