Bend.Repl.ReplHandler.getStatusForLog C# (CSharp) Method

getStatusForLog() public method

public getStatusForLog ( string server_guid ) : LogStatus
server_guid string
return LogStatus
        public LogStatus getStatusForLog(string server_guid)
        {
            var log_status = new LogStatus();
            log_status.server_guid = server_guid;

            var log_prefix_key = new RecordKey()
                .appendKeyPart("_logs")
                .appendKeyPart(server_guid);
            // first log entry for this log

            try {
                var oldestlogrow = next_stage.FindNext(log_prefix_key, false);
                if (oldestlogrow.Key.isSubkeyOf(log_prefix_key)) {
                    log_status.oldest_entry_pointer =
                        ((RecordKeyType_Long)oldestlogrow.Key.key_parts[oldestlogrow.Key.key_parts.Count - 1]);
                } else {
                    log_status.oldest_entry_pointer = new RecordKeyType_Long(0);
                }
            } catch (KeyNotFoundException) {
                log_status.oldest_entry_pointer = new RecordKeyType_Long(0);
            }

            // newest log entry for this log
            try {
                var newestlogrow = next_stage.FindPrev(RecordKey.AfterPrefix(log_prefix_key), false);
                if (newestlogrow.Key.isSubkeyOf(log_prefix_key)) {
                    log_status.log_commit_head =
                        ((RecordKeyType_Long)newestlogrow.Key.key_parts[newestlogrow.Key.key_parts.Count - 1]);
                } else {
                    log_status.log_commit_head = new RecordKeyType_Long(0);
                }
            } catch (KeyNotFoundException) {
                log_status.log_commit_head = new RecordKeyType_Long(0);
            }

            // Console.WriteLine("_statusForLog returning: " + log_status);

            return log_status;
        }