C# Class FoundationDB.Layers.Blobs.FdbBlob

Exibir arquivo Open project: BedeGaming/foundationdb-dotnet-client

Public Methods

Method Description
AppendAsync ( IFdbTransaction trans, Slice data ) : System.Threading.Tasks.Task

Append the contents of data onto the end of the blob.

Delete ( IFdbTransaction trans ) : void

Delete all key-value pairs associated with the blob.

FdbBlob ( FdbSubspace subspace ) : FoundationDB.Client

Create a new object representing a binary large object (blob). Only keys within the subspace will be used by the object. Other clients of the database should refrain from modifying the subspace.

GetSizeAsync ( IFdbReadOnlyTransaction trans ) : Task

Get the size (in bytes) of the blob.

ReadAsync ( IFdbReadOnlyTransaction trans, long offset, int n ) : Task

Read from the blob, starting at offset, retrieving up to n bytes (fewer then n bytes are returned when the end of the blob is reached).

TruncateAsync ( IFdbTransaction trans, long newLength ) : System.Threading.Tasks.Task

Change the blob length to newLength, erasing any data when shrinking, and filling new bytes with 0 when growing.

WriteAsync ( IFdbTransaction trans, long offset, Slice data ) : System.Threading.Tasks.Task

Write data to the blob, starting at and overwriting any existing data at that location. The length of the blob is increased if necessary.

Protected Methods

Method Description
AttributeKey ( string name ) : Slice
DataKey ( long offset ) : Slice

Returns the key for data chunk at the specified offset

DataKeyOffset ( Slice key ) : long
SizeKey ( ) : Slice

Private Methods

Method Description
GetChunkAtAsync ( IFdbTransaction trans, long offset ) : Task
MakeSparseAsync ( IFdbTransaction trans, long start, long end ) : System.Threading.Tasks.Task
MakeSplitPointAsync ( IFdbTransaction trans, long offset ) : System.Threading.Tasks.Task
SetSize ( IFdbTransaction trans, long size ) : void
TryRemoteSplitPointAsync ( IFdbTransaction trans, long offset ) : Task
WriteToSparse ( IFdbTransaction trans, long offset, Slice data ) : void

Method Details

AppendAsync() public method

Append the contents of data onto the end of the blob.
public AppendAsync ( IFdbTransaction trans, Slice data ) : System.Threading.Tasks.Task
trans IFdbTransaction
data Slice
return System.Threading.Tasks.Task

AttributeKey() protected method

protected AttributeKey ( string name ) : Slice
name string
return Slice

DataKey() protected method

Returns the key for data chunk at the specified offset
protected DataKey ( long offset ) : Slice
offset long
return Slice

DataKeyOffset() protected method

protected DataKeyOffset ( Slice key ) : long
key Slice
return long

Delete() public method

Delete all key-value pairs associated with the blob.
public Delete ( IFdbTransaction trans ) : void
trans IFdbTransaction
return void

FdbBlob() public method

Create a new object representing a binary large object (blob). Only keys within the subspace will be used by the object. Other clients of the database should refrain from modifying the subspace.
public FdbBlob ( FdbSubspace subspace ) : FoundationDB.Client
subspace FdbSubspace Subspace to be used for storing the blob data and metadata
return FoundationDB.Client

GetSizeAsync() public method

Get the size (in bytes) of the blob.
public GetSizeAsync ( IFdbReadOnlyTransaction trans ) : Task
trans IFdbReadOnlyTransaction
return Task

ReadAsync() public method

Read from the blob, starting at offset, retrieving up to n bytes (fewer then n bytes are returned when the end of the blob is reached).
public ReadAsync ( IFdbReadOnlyTransaction trans, long offset, int n ) : Task
trans IFdbReadOnlyTransaction
offset long
n int
return Task

SizeKey() protected method

protected SizeKey ( ) : Slice
return Slice

TruncateAsync() public method

Change the blob length to newLength, erasing any data when shrinking, and filling new bytes with 0 when growing.
public TruncateAsync ( IFdbTransaction trans, long newLength ) : System.Threading.Tasks.Task
trans IFdbTransaction
newLength long
return System.Threading.Tasks.Task

WriteAsync() public method

Write data to the blob, starting at and overwriting any existing data at that location. The length of the blob is increased if necessary.
public WriteAsync ( IFdbTransaction trans, long offset, Slice data ) : System.Threading.Tasks.Task
trans IFdbTransaction
offset long
data Slice
return System.Threading.Tasks.Task