aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/DiskCacheOutputStreams.cs
blob: a7ad535742de1995881d741bbc3fc8432a506da9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using System;
using System.IO;

namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
{
    /// <summary>
    /// Output streams for the disk shader cache.
    /// </summary>
    class DiskCacheOutputStreams : IDisposable
    {
        /// <summary>
        /// Shared table of contents (TOC) file stream.
        /// </summary>
        public readonly FileStream TocFileStream;

        /// <summary>
        /// Shared data file stream.
        /// </summary>
        public readonly FileStream DataFileStream;

        /// <summary>
        /// Host table of contents (TOC) file stream.
        /// </summary>
        public readonly FileStream HostTocFileStream;

        /// <summary>
        /// Host data file stream.
        /// </summary>
        public readonly FileStream HostDataFileStream;

        /// <summary>
        /// Creates a new instance of a disk cache output stream container.
        /// </summary>
        /// <param name="tocFileStream">Stream for the shared table of contents file</param>
        /// <param name="dataFileStream">Stream for the shared data file</param>
        /// <param name="hostTocFileStream">Stream for the host table of contents file</param>
        /// <param name="hostDataFileStream">Stream for the host data file</param>
        public DiskCacheOutputStreams(FileStream tocFileStream, FileStream dataFileStream, FileStream hostTocFileStream, FileStream hostDataFileStream)
        {
            TocFileStream = tocFileStream;
            DataFileStream = dataFileStream;
            HostTocFileStream = hostTocFileStream;
            HostDataFileStream = hostDataFileStream;
        }

        /// <summary>
        /// Disposes the output file streams.
        /// </summary>
        public void Dispose()
        {
            TocFileStream.Dispose();
            DataFileStream.Dispose();
            HostTocFileStream.Dispose();
            HostDataFileStream.Dispose();
        }
    }
}