This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // interface | |
| interface IActivityInstanceProvider { | |
| fun updateInstance(activity: Activity) | |
| fun <TActivity: Activity> get(): TActivity? | |
| } | |
| // class | |
| class ActivityInstanceProvider: IActivityInstanceProvider { | |
| private val activityInstance: HashSet<WeakReference<Activity?>> = hashSetOf() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| internal class ObservableCollectionAndItems<TModel> where TModel : INotifyPropertyChanged | |
| { | |
| private readonly ObservableCollection<TModel> collection = new(); | |
| public event EventHandler<EventArgs>? ItemChanged; | |
| public event EventHandler<NotifyCollectionChangedEventArgs>? CollectionChanged; | |
| public ObservableCollectionAndItems() | |
| { | |
| collection.CollectionChanged += Collection_CollectionChanged; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| static std::string date_format(boost::posix_time::ptime const& datetime) { | |
| using namespace boost; | |
| std::ostringstream ss; | |
| auto output_facet = new boost::posix_time::time_facet(); | |
| ss.imbue(std::locale(std::locale::classic(), output_facet)); | |
| output_facet->format("%Y-%m-%d %H:%M:%s%Q"); | |
| ss.str(""); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [Route("api/[controller]")] | |
| [ApiController] | |
| public class MonitorController : Controller | |
| { | |
| private readonly IActionDescriptorCollectionProvider _provider; | |
| public MonitorController(IActionDescriptorCollectionProvider provider) | |
| { | |
| _provider = provider; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class Observable | |
| { | |
| private object actionCollection = null!; | |
| private MethodInfo? methodInfo; | |
| public ActionCollection<TModel> From<TModel>(TModel target) where TModel : INotifyPropertyChanged | |
| { | |
| RegisterPropertyChanged(target); | |
| return BuildActionCollection<TModel>(); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class LoggingInterceptor : HttpClientHandler | |
| { | |
| protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) | |
| { | |
| Debug.Log("Request {0}", request.RequestUri.PathAndQuery); | |
| if (request.Content != null) | |
| { | |
| var contentRequest = await request.Content.ReadAsStringAsync(); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class Configuration : IConfiguration | |
| { | |
| private readonly string assemblyResourceFile; | |
| private AutoDisposeJsonDocument? smartJsonDocument; | |
| public Configuration(string assemblyResourceFile) | |
| { | |
| this.assemblyResourceFile = assemblyResourceFile; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| private void ScheduleDisposeResourceStreams() | |
| { | |
| _ = Task.Factory.StartNew(async () => | |
| { | |
| await Task.Delay(TimeSpan.FromMinutes(1)); | |
| // `stream` creation happens right after the invocation of this | |
| // They are in the same thread so no lock needed | |
| jsonStream?.Dispose(); | |
| jsonDocument?.Dispose(); | |
| jsonStream = null; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public async Task<T?> GetValue<T>(string path, JsonSerializerOptions? options, CancellationToken cancellationToken) | |
| { | |
| using var stream = GetStream(); | |
| using var jsonDocument = await JsonDocument.ParseAsync(stream, cancellationToken: cancellationToken); | |
| var root = jsonDocument.RootElement; | |
| var jsonPath = JsonPath.Parse(path); | |
| var pathResult = jsonPath.Evaluate(root); | |
| if (pathResult.Error != null) | |
| throw new InvalidOperationException(pathResult.Error); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //Startup.cs | |
| public void Configure(IApplicationBuilder app, IWebHostEnvironment env) | |
| { | |
| app.UseIpRateLimiting(); | |
| app.UseClientRateLimiting(); | |
| // the rest | |
| } | |
| public void ConfigureServices(IServiceCollection services) |