Loading blockconnection.go +59 −4 Original line number Diff line number Diff line Loading @@ -21,7 +21,10 @@ func NewBlockConnection(op ClientOptions) (*BlockConnection, error) { func (conn *BlockConnection) NoOp() (Status, error) { callback := &GenericCallback{} h := NewMessageHandler(callback) conn.nbc.NoOp(h) err := conn.nbc.NoOp(h) if err != nil { return callback.Status(), err } for callback.Done() == false { conn.nbc.Run() Loading Loading @@ -69,7 +72,10 @@ func (conn *BlockConnection) GetPrevious(key []byte) (Record, Status, error) { func (conn *BlockConnection) GetKeyRange(r *KeyRange) ([][]byte, Status, error) { callback := &GetKeyRangeCallback{} h := NewMessageHandler(callback) conn.nbc.GetKeyRange(r, h) err := conn.nbc.GetKeyRange(r, h) if err != nil { return nil, callback.Status(), err } for callback.Done() == false { conn.nbc.Run() Loading @@ -81,7 +87,10 @@ func (conn *BlockConnection) GetKeyRange(r *KeyRange) ([][]byte, Status, error) func (conn *BlockConnection) Delete(entry *Record) (Status, error) { callback := &GenericCallback{} h := NewMessageHandler(callback) conn.nbc.Delete(entry, h) err := conn.nbc.Delete(entry, h) if err != nil { return callback.Status(), err } for callback.Done() == false { conn.nbc.Run() Loading @@ -93,7 +102,36 @@ func (conn *BlockConnection) Delete(entry *Record) (Status, error) { func (conn *BlockConnection) Put(entry *Record) (Status, error) { callback := &GenericCallback{} h := NewMessageHandler(callback) conn.nbc.Put(entry, h) err := conn.nbc.Put(entry, h) if err != nil { return callback.Status(), err } for callback.Done() == false { conn.nbc.Run() } return callback.Status(), nil } func (conn *BlockConnection) pinop(pin []byte, op kproto.Command_PinOperation_PinOpType) (Status, error) { callback := &GenericCallback{} h := NewMessageHandler(callback) var err error = nil switch op { case kproto.Command_PinOperation_SECURE_ERASE_PINOP: err = conn.nbc.SecureErase(pin, h) case kproto.Command_PinOperation_ERASE_PINOP: err = conn.nbc.InstantErase(pin, h) case kproto.Command_PinOperation_LOCK_PINOP: err = conn.nbc.LockDevice(pin, h) case kproto.Command_PinOperation_UNLOCK_PINOP: err = conn.nbc.UnlockDevice(pin, h) } if err != nil { return callback.Status(), err } for callback.Done() == false { conn.nbc.Run() Loading @@ -102,6 +140,23 @@ func (conn *BlockConnection) Put(entry *Record) (Status, error) { return callback.Status(), nil } func (conn *BlockConnection) SecureErase(pin []byte) (Status, error) { return conn.pinop(pin, kproto.Command_PinOperation_SECURE_ERASE_PINOP) } func (conn *BlockConnection) InstantErase(pin []byte) (Status, error) { return conn.pinop(pin, kproto.Command_PinOperation_ERASE_PINOP) } func (conn *BlockConnection) LockDevice(pin []byte) (Status, error) { return conn.pinop(pin, kproto.Command_PinOperation_LOCK_PINOP) } func (conn *BlockConnection) UnlockDevice(pin []byte) (Status, error) { return conn.pinop(pin, kproto.Command_PinOperation_UNLOCK_PINOP) } func (conn *BlockConnection) Close() { conn.nbc.Close() } nonblockconnection.go +35 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,41 @@ func (conn *NonBlockConnection) Put(entry *Record, h *MessageHandler) error { return err } func (conn *NonBlockConnection) pinop(pin []byte, op kproto.Command_PinOperation_PinOpType, h *MessageHandler) error { msg := newMessage(kproto.Message_PINAUTH) msg.PinAuth = &kproto.Message_PINauth{ Pin: pin, } cmd := newCommand(kproto.Command_PINOP) cmd.Body = &kproto.Command_Body{ PinOp: &kproto.Command_PinOperation{ PinOpType: &op, }, } err := conn.service.submit(msg, cmd, nil, h) return err } func (conn *NonBlockConnection) SecureErase(pin []byte, h *MessageHandler) error { return conn.pinop(pin, kproto.Command_PinOperation_SECURE_ERASE_PINOP, h) } func (conn *NonBlockConnection) InstantErase(pin []byte, h *MessageHandler) error { return conn.pinop(pin, kproto.Command_PinOperation_ERASE_PINOP, h) } func (conn *NonBlockConnection) LockDevice(pin []byte, h *MessageHandler) error { return conn.pinop(pin, kproto.Command_PinOperation_LOCK_PINOP, h) } func (conn *NonBlockConnection) UnlockDevice(pin []byte, h *MessageHandler) error { return conn.pinop(pin, kproto.Command_PinOperation_UNLOCK_PINOP, h) } func (conn *NonBlockConnection) Run() error { return conn.service.listen() } Loading Loading
blockconnection.go +59 −4 Original line number Diff line number Diff line Loading @@ -21,7 +21,10 @@ func NewBlockConnection(op ClientOptions) (*BlockConnection, error) { func (conn *BlockConnection) NoOp() (Status, error) { callback := &GenericCallback{} h := NewMessageHandler(callback) conn.nbc.NoOp(h) err := conn.nbc.NoOp(h) if err != nil { return callback.Status(), err } for callback.Done() == false { conn.nbc.Run() Loading Loading @@ -69,7 +72,10 @@ func (conn *BlockConnection) GetPrevious(key []byte) (Record, Status, error) { func (conn *BlockConnection) GetKeyRange(r *KeyRange) ([][]byte, Status, error) { callback := &GetKeyRangeCallback{} h := NewMessageHandler(callback) conn.nbc.GetKeyRange(r, h) err := conn.nbc.GetKeyRange(r, h) if err != nil { return nil, callback.Status(), err } for callback.Done() == false { conn.nbc.Run() Loading @@ -81,7 +87,10 @@ func (conn *BlockConnection) GetKeyRange(r *KeyRange) ([][]byte, Status, error) func (conn *BlockConnection) Delete(entry *Record) (Status, error) { callback := &GenericCallback{} h := NewMessageHandler(callback) conn.nbc.Delete(entry, h) err := conn.nbc.Delete(entry, h) if err != nil { return callback.Status(), err } for callback.Done() == false { conn.nbc.Run() Loading @@ -93,7 +102,36 @@ func (conn *BlockConnection) Delete(entry *Record) (Status, error) { func (conn *BlockConnection) Put(entry *Record) (Status, error) { callback := &GenericCallback{} h := NewMessageHandler(callback) conn.nbc.Put(entry, h) err := conn.nbc.Put(entry, h) if err != nil { return callback.Status(), err } for callback.Done() == false { conn.nbc.Run() } return callback.Status(), nil } func (conn *BlockConnection) pinop(pin []byte, op kproto.Command_PinOperation_PinOpType) (Status, error) { callback := &GenericCallback{} h := NewMessageHandler(callback) var err error = nil switch op { case kproto.Command_PinOperation_SECURE_ERASE_PINOP: err = conn.nbc.SecureErase(pin, h) case kproto.Command_PinOperation_ERASE_PINOP: err = conn.nbc.InstantErase(pin, h) case kproto.Command_PinOperation_LOCK_PINOP: err = conn.nbc.LockDevice(pin, h) case kproto.Command_PinOperation_UNLOCK_PINOP: err = conn.nbc.UnlockDevice(pin, h) } if err != nil { return callback.Status(), err } for callback.Done() == false { conn.nbc.Run() Loading @@ -102,6 +140,23 @@ func (conn *BlockConnection) Put(entry *Record) (Status, error) { return callback.Status(), nil } func (conn *BlockConnection) SecureErase(pin []byte) (Status, error) { return conn.pinop(pin, kproto.Command_PinOperation_SECURE_ERASE_PINOP) } func (conn *BlockConnection) InstantErase(pin []byte) (Status, error) { return conn.pinop(pin, kproto.Command_PinOperation_ERASE_PINOP) } func (conn *BlockConnection) LockDevice(pin []byte) (Status, error) { return conn.pinop(pin, kproto.Command_PinOperation_LOCK_PINOP) } func (conn *BlockConnection) UnlockDevice(pin []byte) (Status, error) { return conn.pinop(pin, kproto.Command_PinOperation_UNLOCK_PINOP) } func (conn *BlockConnection) Close() { conn.nbc.Close() }
nonblockconnection.go +35 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,41 @@ func (conn *NonBlockConnection) Put(entry *Record, h *MessageHandler) error { return err } func (conn *NonBlockConnection) pinop(pin []byte, op kproto.Command_PinOperation_PinOpType, h *MessageHandler) error { msg := newMessage(kproto.Message_PINAUTH) msg.PinAuth = &kproto.Message_PINauth{ Pin: pin, } cmd := newCommand(kproto.Command_PINOP) cmd.Body = &kproto.Command_Body{ PinOp: &kproto.Command_PinOperation{ PinOpType: &op, }, } err := conn.service.submit(msg, cmd, nil, h) return err } func (conn *NonBlockConnection) SecureErase(pin []byte, h *MessageHandler) error { return conn.pinop(pin, kproto.Command_PinOperation_SECURE_ERASE_PINOP, h) } func (conn *NonBlockConnection) InstantErase(pin []byte, h *MessageHandler) error { return conn.pinop(pin, kproto.Command_PinOperation_ERASE_PINOP, h) } func (conn *NonBlockConnection) LockDevice(pin []byte, h *MessageHandler) error { return conn.pinop(pin, kproto.Command_PinOperation_LOCK_PINOP, h) } func (conn *NonBlockConnection) UnlockDevice(pin []byte, h *MessageHandler) error { return conn.pinop(pin, kproto.Command_PinOperation_UNLOCK_PINOP, h) } func (conn *NonBlockConnection) Run() error { return conn.service.listen() } Loading