本文整理匯總了Golang中github.com/FactomProject/factomd/common/primitives.Buffer.DeepCopyBytes方法的典型用法代碼示例。如果您正苦於以下問題:Golang Buffer.DeepCopyBytes方法的具體用法?Golang Buffer.DeepCopyBytes怎麽用?Golang Buffer.DeepCopyBytes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/FactomProject/factomd/common/primitives.Buffer
的用法示例。
在下文中一共展示了Buffer.DeepCopyBytes方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: MarshalForSignature
func (m *ChangeServerKeyMsg) MarshalForSignature() ([]byte, error) {
var buf primitives.Buffer
binary.Write(&buf, binary.BigEndian, m.Type())
t := m.GetTimestamp()
data, err := t.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
data, err = m.IdentityChainID.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
binary.Write(&buf, binary.BigEndian, uint8(m.AdminBlockChange))
binary.Write(&buf, binary.BigEndian, uint8(m.KeyType))
binary.Write(&buf, binary.BigEndian, uint8(m.KeyPriority))
data, err = m.Key.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
return buf.DeepCopyBytes(), nil
}
示例2: MarshalBinary
func (m *MissingMsg) MarshalBinary() ([]byte, error) {
var buf primitives.Buffer
binary.Write(&buf, binary.BigEndian, m.Type())
t := m.GetTimestamp()
data, err := t.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
if m.Asking == nil {
m.Asking = primitives.NewHash(constants.ZERO_HASH)
}
data, err = m.Asking.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
buf.WriteByte(uint8(m.VMIndex))
binary.Write(&buf, binary.BigEndian, m.DBHeight)
binary.Write(&buf, binary.BigEndian, m.SystemHeight)
binary.Write(&buf, binary.BigEndian, uint32(len(m.ProcessListHeight)))
for _, h := range m.ProcessListHeight {
binary.Write(&buf, binary.BigEndian, h)
}
bb := buf.DeepCopyBytes()
return bb, nil
}
示例3: MarshalBinary
func (s FactoidSignature) MarshalBinary() ([]byte, error) {
var out primitives.Buffer
out.Write(s.Signature[:])
return out.DeepCopyBytes(), nil
}
示例4: MarshalBinary
// Write out the ABlockHeader to binary.
func (b *ABlockHeader) MarshalBinary() (data []byte, err error) {
var buf primitives.Buffer
data, err = b.GetAdminChainID().MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
data, err = b.PrevBackRefHash.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
binary.Write(&buf, binary.BigEndian, b.DBHeight)
primitives.EncodeVarInt(&buf, b.HeaderExpansionSize)
buf.Write(b.HeaderExpansionArea)
binary.Write(&buf, binary.BigEndian, b.MessageCount)
binary.Write(&buf, binary.BigEndian, b.BodySize)
return buf.DeepCopyBytes(), err
}
示例5: MarshalBinary
func (b *DirectoryBlock) MarshalBinary() (data []byte, err error) {
var buf primitives.Buffer
b.Sort()
b.BuildBodyMR()
count := uint32(len(b.GetDBEntries()))
b.GetHeader().SetBlockCount(count)
data, err = b.GetHeader().MarshalBinary()
if err != nil {
return
}
buf.Write(data)
for i := uint32(0); i < count; i++ {
data, err = b.GetDBEntries()[i].MarshalBinary()
if err != nil {
return
}
buf.Write(data)
}
return buf.DeepCopyBytes(), err
}
示例6: MarshalBinary
func (m *EOM) MarshalBinary() (data []byte, err error) {
var buf primitives.Buffer
resp, err := m.MarshalForSignature()
if err != nil {
return nil, err
}
buf.Write(resp)
binary.Write(&buf, binary.BigEndian, m.DBHeight)
binary.Write(&buf, binary.BigEndian, m.SysHeight)
if m.SysHash == nil {
m.SysHash = primitives.NewHash(constants.ZERO_HASH)
}
if d, err := m.SysHash.MarshalBinary(); err != nil {
return nil, err
} else {
buf.Write(d)
}
sig := m.GetSignature()
if sig != nil {
sigBytes, err := sig.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(sigBytes)
}
return buf.DeepCopyBytes(), nil
}
示例7: MarshalBinary
func (m *DBStateMsg) MarshalBinary() ([]byte, error) {
var buf primitives.Buffer
binary.Write(&buf, binary.BigEndian, m.Type())
t := m.GetTimestamp()
data, err := t.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
data, err = m.DirectoryBlock.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
data, err = m.AdminBlock.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
data, err = m.FactoidBlock.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
data, err = m.EntryCreditBlock.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
eBlockCount := uint32(len(m.EBlocks))
binary.Write(&buf, binary.BigEndian, eBlockCount)
for _, eb := range m.EBlocks {
bin, err := eb.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(bin)
}
entryCount := uint32(len(m.Entries))
binary.Write(&buf, binary.BigEndian, entryCount)
for _, e := range m.Entries {
bin, err := e.MarshalBinary()
if err != nil || bin == nil || len(bin) == 0 {
return nil, err
}
entrySize := uint32(len(bin))
binary.Write(&buf, binary.BigEndian, entrySize)
buf.Write(bin)
}
return buf.DeepCopyBytes(), nil
}
示例8: MarshalForSignature
func (m *Bounce) MarshalForSignature() ([]byte, error) {
var buf primitives.Buffer
binary.Write(&buf, binary.BigEndian, m.Type())
var buff [32]byte
copy(buff[:32], []byte(fmt.Sprintf("%32s", m.Name)))
buf.Write(buff[:])
binary.Write(&buf, binary.BigEndian, m.Number)
t := m.GetTimestamp()
data, err := t.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
binary.Write(&buf, binary.BigEndian, int32(len(m.Stamps)))
for _, ts := range m.Stamps {
data, err := ts.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
}
return buf.DeepCopyBytes(), nil
}
示例9: MarshalBinarySig
func (c *CommitChain) MarshalBinarySig() ([]byte, error) {
buf := new(primitives.Buffer)
// 1 byte Version
if err := binary.Write(buf, binary.BigEndian, c.Version); err != nil {
return nil, err
}
// 6 byte MilliTime
buf.Write(c.MilliTime[:])
// 32 byte double sha256 hash of the ChainID
buf.Write(c.ChainIDHash.Bytes())
// 32 byte Commit Weld sha256(sha256(Entry Hash + ChainID))
buf.Write(c.Weld.Bytes())
// 32 byte Entry Hash
buf.Write(c.EntryHash.Bytes())
// 1 byte number of Entry Credits
if err := binary.Write(buf, binary.BigEndian, c.Credits); err != nil {
return nil, err
}
return buf.DeepCopyBytes(), nil
}
示例10: String
func (e *ECBlockBody) String() string {
var out primitives.Buffer
for _, v := range e.Entries {
out.WriteString(v.String())
}
return string(out.DeepCopyBytes())
}
示例11: MarshalBinary
func (a RCD_1) MarshalBinary() ([]byte, error) {
var out primitives.Buffer
out.WriteByte(byte(1)) // The First Authorization method
out.Write(a.PublicKey[:])
return out.DeepCopyBytes(), nil
}
示例12: PreMarshalBinary
func (m *ServerFault) PreMarshalBinary() (data []byte, err error) {
defer func() {
if r := recover(); r != nil {
err = fmt.Errorf("Error marshalling Invalid Server Fault: %v", r)
}
}()
var buf primitives.Buffer
buf.Write([]byte{m.Type()})
if d, err := m.ServerID.MarshalBinary(); err != nil {
return nil, err
} else {
buf.Write(d)
}
if d, err := m.AuditServerID.MarshalBinary(); err != nil {
return nil, err
} else {
buf.Write(d)
}
buf.WriteByte(m.VMIndex)
binary.Write(&buf, binary.BigEndian, uint32(m.DBHeight))
binary.Write(&buf, binary.BigEndian, uint32(m.Height))
binary.Write(&buf, binary.BigEndian, uint32(m.SystemHeight))
if d, err := m.Timestamp.MarshalBinary(); err != nil {
return nil, err
} else {
buf.Write(d)
}
return buf.DeepCopyBytes(), nil
}
示例13: CustomMarshalText
func (a *Address) CustomMarshalText() (text []byte, err error) {
var out primitives.Buffer
addr := hex.EncodeToString(a.Bytes())
out.WriteString("addr ")
out.WriteString(addr)
return out.DeepCopyBytes(), nil
}
示例14: MarshalBinary
func (e *Entry) MarshalBinary() ([]byte, error) {
buf := new(primitives.Buffer)
// 1 byte Version
if err := binary.Write(buf, binary.BigEndian, e.Version); err != nil {
return nil, err
}
// 32 byte ChainID
buf.Write(e.ChainID.Bytes())
// ExtIDs
if ext, err := e.MarshalExtIDsBinary(); err != nil {
return nil, err
} else {
// 2 byte size of ExtIDs
if err := binary.Write(buf, binary.BigEndian, int16(len(ext))); err != nil {
return nil, err
}
// binary ExtIDs
buf.Write(ext)
}
// Content
buf.Write(e.Content.Bytes)
return buf.DeepCopyBytes(), nil
}
示例15: MarshalForSignature
func (m *EntryBlockResponse) MarshalForSignature() ([]byte, error) {
var buf primitives.Buffer
binary.Write(&buf, binary.BigEndian, m.Type())
t := m.GetTimestamp()
data, err := t.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(data)
m.EBlockCount = uint32(len(m.EBlocks))
binary.Write(&buf, binary.BigEndian, m.EBlockCount)
for _, eb := range m.EBlocks {
bin, err := eb.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(bin)
}
m.EntryCount = uint32(len(m.Entries))
binary.Write(&buf, binary.BigEndian, m.EntryCount)
for _, e := range m.Entries {
bin, err := e.MarshalBinary()
if err != nil {
return nil, err
}
buf.Write(bin)
}
return buf.DeepCopyBytes(), nil
}