MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / Ack

Method Ack

worker/dbms.go:536–557  ·  view source on GitHub ↗

Ack handles ack of previous response.

(ack *types.Ack)

Source from the content-addressed store, hash-verified

534
535// Ack handles ack of previous response.
536func (dbms *DBMS) Ack(ack *types.Ack) (err error) {
537 var db *Database
538 var exists bool
539
540 // check permission
541 addr, err := crypto.PubKeyHash(ack.Header.Signee)
542 if err != nil {
543 return
544 }
545 err = dbms.checkPermission(addr, ack.Header.Response.Request.DatabaseID, types.ReadQuery, nil)
546 if err != nil {
547 return
548 }
549 // find database
550 if db, exists = dbms.getMeta(ack.Header.Response.Request.DatabaseID); !exists {
551 err = ErrNotExists
552 return
553 }
554
555 // send query
556 return db.Ack(ack)
557}
558
559func (dbms *DBMS) getMeta(dbID proto.DatabaseID) (db *Database, exists bool) {
560 var rawDB interface{}

Callers

nothing calls this directly

Calls 4

checkPermissionMethod · 0.95
getMetaMethod · 0.95
AckMethod · 0.95
PubKeyHashFunction · 0.92

Tested by

no test coverage detected