public KestrelEngine(ILibraryManager libraryManager, IApplicationShutdown appShutdownService) { AppShutdown = appShutdownService; Threads = new List <KestrelThread>(); Listeners = new List <Listener>(); Memory = new MemoryPool(); Libuv = new Libuv(); var libraryPath = default(string); if (libraryManager != null) { var library = libraryManager.GetLibraryInformation("Microsoft.AspNet.Server.Kestrel"); libraryPath = library.Path; if (library.Type == "Project") { libraryPath = Path.GetDirectoryName(libraryPath); } if (Libuv.IsWindows) { var architecture = IntPtr.Size == 4 ? "x86" : "amd64"; libraryPath = Path.Combine( libraryPath, "native", "windows", architecture, "libuv.dll"); } else if (Libuv.IsDarwin) { libraryPath = Path.Combine( libraryPath, "native", "darwin", "universal", "libuv.dylib"); } else { libraryPath = "libuv.so.1"; } } Libuv.Load(libraryPath); }
public KestrelEngine(ILibraryManager libraryManager, ServiceContext context) : this(context) { Libuv = new Libuv(); var libraryPath = default(string); if (libraryManager != null) { var library = libraryManager.GetLibrary("Microsoft.AspNet.Server.Kestrel"); libraryPath = library.Path; if (library.Type == "Project") { libraryPath = Path.GetDirectoryName(libraryPath); } if (Libuv.IsWindows) { var architecture = IntPtr.Size == 4 ? "x86" : "x64"; libraryPath = Path.Combine( libraryPath, "runtimes", "win7-" + architecture, "native", "libuv.dll"); } else if (Libuv.IsDarwin) { libraryPath = Path.Combine( libraryPath, "runtimes", "osx", "native", "libuv.dylib"); } else { libraryPath = "libuv.so.1"; } } Libuv.Load(libraryPath); }