lib/infinispan.js
function(k) {
        var ctx = u.context(SMALL);
        logger.debugf('Invoke getWithMetadata(msgId=%d,key=%s)', ctx.id, u.str(k));
        var decoder = p.decodeWithMeta();
        return futureKey(ctx, 0x1B, k, p.encodeKey(k), decoder);
      }
function(k) {
        var ctx = u.context(SMALL);
        logger.debugf('Invoke getWithMetadata(msgId=%d,key=%s)', ctx.id, u.str(k));
        var decoder = p.decodeWithMeta();
        return futureKey(ctx, 0x1B, k, p.encodeKey(k), decoder);
      }
function ( k ) { var ctx = u . context ( SMALL ) ; logger . debugf ( 'Invoke getWithMetadata(msgId=%d,key=%s)' , ctx . id , u . str ( k ) ) ; var decoder = p . decodeWithMeta ( ) ; return futureKey ( ctx , 0x1B , k , p . encodeKey ( k ) , decoder ) ; }
Metadata value.

@typedef {Object} MetadataValue
@property {(String|Object)} value - Value associated with the key
@property {Buffer} version - Version of the value as a byte buffer.
@property {Number} lifespan - Lifespan of entry, defined in seconds.
If the entry is immortal, it would be -1.
@property {Number} maxIdle - Max idle time of entry, defined in seconds.
If the entry is no transient, it would be -1.
@since 0.3
 
Get the value and metadata associated with the given key parameter.

@param k {(String|Object)} Key to retrieve.
@returns {module:promise.Promise.<?MetadataValue>}
A promise that will be completed with the value and metadata
associated with the key, or undefined if the value is not present.
@memberof Client#
@since 0.3
Metadata value .