aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Interfaces/IServiceThrottleModule.cs
blob: 198256fdde623c69d6b763a6d0504c60cad2f712 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Collections.Generic;

namespace OpenSim.Region.Framework.Interfaces
{
    public interface IServiceThrottleModule
    {
        /// <summary>
        /// Enqueue a continuation meant to get a resource from elsewhere.
        /// As usual with CPS, caller beware: if that continuation is a never-ending computation,
        /// the whole thread will be blocked, and no requests are processed
        /// </summary>
        /// <param name="category">Category of the resource (e.g. name, region)</param>
        /// <param name="itemid">The resource identifier</param>
        /// <param name="continuation">The continuation to be executed</param>
        void Enqueue(string category, string itemid, Action continuation);
    }

}