using FLY.OBJComponents.Common;
using FObjBase;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FLY.OBJComponents.IService
{
///
/// 使用窗口式显示
/// 每行数据都有 uint32 id.
/// 每多一行 id+1
/// id 最大值 为 uint32.MaxValue, 最小值 为 uint32.MinValue
///
///
public interface IBuffer : INotifyBufferChanged, INotifyPropertyChanged
{
///
/// 最新ID
///
int NewestID { get; }
///
/// 当前总数量
///
int Count { get; }
///
/// 总容量,当总数量 大于等于 总容量的 100%, 前面的10%数据会被删除
///
int Capacity { get; set; }
///
/// 清空全部数据
///
void Reset();
///
/// 获取指定位置的N个数据
///
/// 最后的ID
/// 数量
/// 回调
/// 回调里面的上下文
void GetRecord(int last_id, int count, AsyncCBHandler asyncDelegate, object asyncContext);
///
/// 获取最新的N个数据
///
/// 数量
/// 回调
/// 回调里面的上下文
void GetRecord(int count, AsyncCBHandler asyncDelegate, object asyncContext);
}
public class GetRecordReponse
{
public int LastID;
public IList Items;
}
}