using System;
using System.Collections.Generic;
namespace FSO.Server.Database.DA.LotVisitors
{
public interface ILotVisits
{
///
/// Records a new visit to a lot. A visit id is returned which can be used to record
/// when the visit ends
///
///
///
///
///
int? Visit(uint avatar_id, DbLotVisitorType visitor_type, int lot_id);
///
/// Records that a visit has ended
///
///
void Leave(int visit_id);
///
/// Updates the timestamp on active visits. This helps detect the difference between
/// a long visit and an error where the visit did not get closed.
///
/// This also lets us calculate Top 100 without downtime as we can be inclusive
/// of active tickets
///
///
void Renew(IEnumerable visit_ids);
///
/// Purge data older than the date given
///
///
void PurgeByDate(DateTime date);
///
///
///
///
///
///
IEnumerable StreamBetween(int shard_id, DateTime start, DateTime end);
///
///
///
///
///
///
IEnumerable StreamBetweenPlusNhood(int shard_id, DateTime start, DateTime end);
///
///
///
///
///
///
IEnumerable StreamBetweenOneNhood(uint nhood_id, DateTime start, DateTime end);
}
}