forked from ethereum/go-ethereum
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request ethereum#16198 from gluk256/266-wnode
whisper: refactor wnode to systematically store messages if a directory is provided
- Loading branch information
Showing
1 changed file
with
12 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -76,14 +76,14 @@ var ( | |
|
||
// cmd arguments | ||
var ( | ||
bootstrapMode = flag.Bool("standalone", false, "boostrap node: don't actively connect to peers, wait for incoming connections") | ||
forwarderMode = flag.Bool("forwarder", false, "forwarder mode: only forward messages, neither send nor decrypt messages") | ||
bootstrapMode = flag.Bool("standalone", false, "boostrap node: don't initiate connection to peers, just wait for incoming connections") | ||
forwarderMode = flag.Bool("forwarder", false, "forwarder mode: only forward messages, neither encrypt nor decrypt messages") | ||
mailServerMode = flag.Bool("mailserver", false, "mail server mode: delivers expired messages on demand") | ||
requestMail = flag.Bool("mailclient", false, "request expired messages from the bootstrap server") | ||
asymmetricMode = flag.Bool("asym", false, "use asymmetric encryption") | ||
generateKey = flag.Bool("generatekey", false, "generate and show the private key") | ||
fileExMode = flag.Bool("fileexchange", false, "file exchange mode") | ||
testMode = flag.Bool("test", false, "use of predefined parameters for diagnostics") | ||
testMode = flag.Bool("test", false, "use of predefined parameters for diagnostics (password, etc.)") | ||
echoMode = flag.Bool("echo", false, "echo mode: prints some arguments for diagnostics") | ||
|
||
argVerbosity = flag.Int("verbosity", int(log.LvlError), "log verbosity level") | ||
|
@@ -99,7 +99,7 @@ var ( | |
argIDFile = flag.String("idfile", "", "file name with node id (private key)") | ||
argEnode = flag.String("boot", "", "bootstrap node you want to connect to (e.g. enode://[email protected]:16428)") | ||
argTopic = flag.String("topic", "", "topic in hexadecimal format (e.g. 70a4beef)") | ||
argSaveDir = flag.String("savedir", "", "directory where incoming messages will be saved as files") | ||
argSaveDir = flag.String("savedir", "", "directory where all incoming messages will be saved as files") | ||
) | ||
|
||
func main() { | ||
|
@@ -548,20 +548,18 @@ func messageLoop() { | |
for { | ||
select { | ||
case <-ticker.C: | ||
messages := sf.Retrieve() | ||
m1 := sf.Retrieve() | ||
m2 := af.Retrieve() | ||
messages := append(m1, m2...) | ||
for _, msg := range messages { | ||
if *fileExMode || len(msg.Payload) > 2048 { | ||
// All messages are saved upon specifying argSaveDir. | ||
// fileExMode only specifies how messages are displayed on the console after they are saved. | ||
// if fileExMode == true, only the hashes are displayed, since messages might be too big. | ||
if len(*argSaveDir) > 0 { | ||
writeMessageToFile(*argSaveDir, msg) | ||
} else { | ||
printMessageInfo(msg) | ||
} | ||
} | ||
|
||
messages = af.Retrieve() | ||
for _, msg := range messages { | ||
if *fileExMode || len(msg.Payload) > 2048 { | ||
writeMessageToFile(*argSaveDir, msg) | ||
} else { | ||
if !*fileExMode && len(msg.Payload) <= 2048 { | ||
printMessageInfo(msg) | ||
} | ||
} | ||
|