public async Task <string> Keys() { request_id++; var msg = new bzn_msg() { Db = new database_msg() { Keys = new database_request() } }; var env = this.connection.BuildRequest(msg, this.dbUuid); env = this.encrypt.SignEnvelope(env); var response = await this.connection.DoRequest(env, this.dbUuid); if (response != null) { try { return("\nOwner: " + response.Keys.Keys); } catch { return(response.Error.Message); } } else { return("Something went wrong."); } }
//admin ops public async Task <string> Size() { request_id++; var msg = new bzn_msg() { Db = new database_msg() { Size = new database_request() { } } }; var env = this.connection.BuildRequest(msg, this.dbUuid); env = this.encrypt.SignEnvelope(env); var response = await this.connection.DoRequest(env, this.dbUuid); if (response != null) { try { return("Size of database in bytes: " + response.Size.Bytes.ToString()); } catch { return(response.Error.Message); } } else { return(null); } }
public async Task <string> QuickRead(string Key) { request_id++; var msg = new bzn_msg() { Db = new database_msg() { QuickRead = new database_read() { Key = Key } } }; var env = this.connection.BuildRequest(msg, this.dbUuid); env = this.encrypt.SignEnvelope(env); var response = await this.connection.DoRequest(env, this.dbUuid); if (response != null) { try { return(Encoding.UTF8.GetString(response.Read.Value.ToByteArray())); } catch { return(response.Error.Message); } } else { return(null); } }
public bzn_envelope BuildRequest(bzn_msg msg, string uuid) { var env = new bzn_envelope() { DatabaseMsg = msg.Db.ToByteString(), }; return(env); }
private async Task <database_response.Types.response> DoRequest(bzn_msg msg, string uuid) { request_id++; var json = BuildRequest(msg, request_id, uuid); var response = await SendRequestToSocket(json); return(response); }
public async Task <bool> Delete(string uuid, string key) { var msg = new bzn_msg() { Db = new database_msg() { Delete = new database_delete() { Key = key } } }; var response = await DoRequest(msg, uuid); return(response != null && !string.IsNullOrEmpty(response.Error)); }
public async Task <bool> Create(string uuid, string key, string value) { var msg = new bzn_msg() { Db = new database_msg() { Create = new database_create() { Key = key, Value = ByteString.CopyFrom(value, Encoding.UTF8) } } }; var response = await DoRequest(msg, uuid); return(response == null || !string.IsNullOrEmpty(response.Error)); }
public async Task <bool> DeleteDB() { request_id++; var msg = new bzn_msg() { Db = new database_msg() { DeleteDb = new database_request() } }; var env = this.connection.BuildRequest(msg, this.dbUuid); env = this.encrypt.SignEnvelope(env); var response = await this.connection.DoRequest(env, this.dbUuid); return(response != null || String.IsNullOrEmpty(response.Error.Message)); }
public bzn_msg SetNonceHeader(bzn_msg msg) { var uuidInsert = this.uuid; // var nonceInsert = GenerateNonce(); var nonce = "127"; decimal d = Decimal.Parse(nonce); ulong nonceFormatted = (ulong)(d); var nonceInsert = nonceFormatted; msg.Db.Header = new database_header() { DbUuid = uuidInsert, Nonce = nonceInsert }; Console.WriteLine(nonceInsert); this.nonceMap.Add(nonceInsert, true); return(msg); }
private string BuildRequest(bzn_msg msg, ulong txid, string uuid) { var root = DataNode.CreateObject(); msg.Db.Header = new database_header() { DbUuid = uuid, TransactionId = txid }; root.AddField("bzn-api", "database"); using (var output = new MemoryStream()) { msg.WriteTo(output); var data = Convert.ToBase64String(msg.ToByteArray()); root.AddField("msg", data); } var json = JSONWriter.WriteToString(root); return(json); }
public async Task <string> Read(string uuid, string key) { var msg = new bzn_msg() { Db = new database_msg() { Read = new database_read() { Key = key } } }; var response = await DoRequest(msg, uuid); if (response == null || !string.IsNullOrEmpty(response.Error)) { return(null); } return(Encoding.UTF8.GetString(response.Value.ToByteArray())); }
// CRUD ops public async Task <bool> Create(string Key, string value) { request_id++; var msg = new bzn_msg() { Db = new database_msg() { Create = new database_create() { Key = Key, Value = ByteString.CopyFrom(value, Encoding.UTF8), } } }; var env = this.connection.BuildRequest(msg, this.dbUuid); env = this.encrypt.SignEnvelope(env); var response = await this.connection.DoRequest(env, this.dbUuid); return(response != null || String.IsNullOrEmpty(response.Error.Message)); }
public async Task <bool> RemoveWriters(string writers) { request_id++; var msg = new bzn_msg() { Db = new database_msg() { RemoveWriters = new database_writers() { } } }; msg.Db.RemoveWriters.Writers.Add(writers); var env = this.connection.BuildRequest(msg, this.dbUuid); env = this.encrypt.SignEnvelope(env); var response = await this.connection.DoRequest(env, this.dbUuid); return(response != null || String.IsNullOrEmpty(response.Error.Message)); }
//DB ops public async Task <bool> CreateDB() { request_id++; var msg = new bzn_msg() { Db = new database_msg() { CreateDb = new database_request() } }; msg = this.metadata.SetNonceHeader(msg); Console.WriteLine(msg.Db.Header.DbUuid); Console.WriteLine(msg.Db.Header.Nonce); var env = this.connection.BuildRequest(msg, this.dbUuid); env = this.encrypt.SignEnvelope(env); var response = await this.connection.DoRequest(env, this.dbUuid); this.metadata.RemoveNonceHeader(response); return(response != null || String.IsNullOrEmpty(response.Error.Message)); }
public async Task <bool> HasDB() { request_id++; var msg = new bzn_msg() { Db = new database_msg() { HasDb = new database_has_db() } }; var env = this.connection.BuildRequest(msg, this.dbUuid); env = this.encrypt.SignEnvelope(env); var response = await this.connection.DoRequest(env, this.dbUuid); try { return(response.HasDb.Has); } catch { return(false); } }