コード例 #1
0
ファイル: messages.go プロジェクト: carriercomm/repbin
func scanMessage(a scanAble) (uint64, *structs.MessageStruct, error) {
	var messageIDT, receiverConstantPubKeyT, signerPubT string
	var oneTimeT, syncT, hiddenT int
	var id uint64
	s := new(structs.MessageStruct)
	if err := a.Scan(
		&id,
		&s.Counter,
		&messageIDT,
		&receiverConstantPubKeyT,
		&signerPubT,
		&s.PostTime,
		&s.ExpireTime,
		&s.ExpireRequest,
		&s.Distance,
		&oneTimeT,
		&syncT,
		&hiddenT,
	); err != nil {
		return 0, nil, err
	}
	s.MessageID = *sliceToMessageID(fromHex(messageIDT))
	s.ReceiverConstantPubKey = *sliceToCurve25519Key(fromHex(receiverConstantPubKeyT))
	s.SignerPub = *sliceToEDPublicKey(fromHex(signerPubT))
	s.OneTime = intToBool(oneTimeT)
	s.Sync = intToBool(syncT)
	s.Hidden = intToBool(hiddenT)
	return id, s, nil
}