setNode sets id and its publicKey.
(nodeInfo *proto.Node)
| 279 | |
| 280 | // setNode sets id and its publicKey. |
| 281 | func setNode(nodeInfo *proto.Node) (err error) { |
| 282 | pksLock.Lock() |
| 283 | defer pksLock.Unlock() |
| 284 | if pks == nil || pks.db == nil { |
| 285 | return ErrPKSNotInitialized |
| 286 | } |
| 287 | |
| 288 | nodeBuf, err := utils.EncodeMsgPack(nodeInfo) |
| 289 | if err != nil { |
| 290 | err = errors.Wrap(err, "marshal node info failed") |
| 291 | return |
| 292 | } |
| 293 | log.Debugf("set node: %#v", nodeInfo) |
| 294 | |
| 295 | _, err = pks.db.Writer().Exec(setRecordSQL, string(nodeInfo.ID), nodeBuf.Bytes()) |
| 296 | if err != nil { |
| 297 | err = errors.Wrap(err, "set node info failed") |
| 298 | } |
| 299 | |
| 300 | return |
| 301 | } |
| 302 | |
| 303 | // DelNode removes PublicKey to the id. |
| 304 | func DelNode(id proto.NodeID) (err error) { |