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