github.com/linapex/ethereum-dpos-chinese@v0.0.0-20190316121959-b78b3a4a1ece/whisper/whisperv6/doc.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 12:09:51</date> 10 //</624342690145767424> 11 12 // 13 // 14 // 15 // 16 // 17 // 18 // 19 // 20 // 21 // 22 // 23 // 24 // 25 // 26 // 27 28 /* 29 30 31 32 33 34 35 36 37 38 39 40 */ 41 42 43 // 44 45 package whisperv6 46 47 import ( 48 "time" 49 ) 50 51 // 52 const ( 53 ProtocolVersion = uint64(6) // 54 ProtocolVersionStr = "6.0" // 55 ProtocolName = "shh" // 56 57 // 58 statusCode = 0 // 59 messagesCode = 1 // 60 powRequirementCode = 2 // 61 bloomFilterExCode = 3 // 62 p2pRequestCode = 126 // 63 p2pMessageCode = 127 // 64 NumberOfMessageCodes = 128 65 66 SizeMask = byte(3) // 67 signatureFlag = byte(4) 68 69 TopicLength = 4 // 70 signatureLength = 65 // 71 aesKeyLength = 32 // 72 aesNonceLength = 12 // 73 keyIDSize = 32 // 74 BloomFilterSize = 64 // 75 flagsLength = 1 76 77 EnvelopeHeaderLength = 20 78 79 MaxMessageSize = uint32(10 * 1024 * 1024) // 80 DefaultMaxMessageSize = uint32(1024 * 1024) 81 DefaultMinimumPoW = 0.2 82 83 padSizeLimit = 256 // 84 messageQueueLimit = 1024 85 86 expirationCycle = time.Second 87 transmissionCycle = 300 * time.Millisecond 88 89 DefaultTTL = 50 // 90 DefaultSyncAllowance = 10 // 91 ) 92 93 // 94 // 95 // 96 // 97 // 98 // 99 type MailServer interface { 100 Archive(env *Envelope) 101 DeliverMail(whisperPeer *Peer, request *Envelope) 102 } 103