mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00:00
net: expose shutdown() and ShutdownMode (#3558)
This commit is contained in:
parent
4d4908dde3
commit
176d1ff12e
2 changed files with 19 additions and 3 deletions
|
@ -77,7 +77,15 @@ export {
|
||||||
export { truncateSync, truncate } from "./truncate.ts";
|
export { truncateSync, truncate } from "./truncate.ts";
|
||||||
export { FileInfo } from "./file_info.ts";
|
export { FileInfo } from "./file_info.ts";
|
||||||
export { openPlugin } from "./plugins.ts";
|
export { openPlugin } from "./plugins.ts";
|
||||||
export { connect, dial, listen, Listener, Conn } from "./net.ts";
|
export {
|
||||||
|
connect,
|
||||||
|
dial,
|
||||||
|
listen,
|
||||||
|
Listener,
|
||||||
|
Conn,
|
||||||
|
ShutdownMode,
|
||||||
|
shutdown
|
||||||
|
} from "./net.ts";
|
||||||
export { dialTLS, listenTLS } from "./tls.ts";
|
export { dialTLS, listenTLS } from "./tls.ts";
|
||||||
export { metrics, Metrics } from "./metrics.ts";
|
export { metrics, Metrics } from "./metrics.ts";
|
||||||
export { resources } from "./resources.ts";
|
export { resources } from "./resources.ts";
|
||||||
|
|
|
@ -32,7 +32,7 @@ export interface Listener extends AsyncIterator<Conn> {
|
||||||
[Symbol.asyncIterator](): AsyncIterator<Conn>;
|
[Symbol.asyncIterator](): AsyncIterator<Conn>;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ShutdownMode {
|
export enum ShutdownMode {
|
||||||
// See http://man7.org/linux/man-pages/man2/shutdown.2.html
|
// See http://man7.org/linux/man-pages/man2/shutdown.2.html
|
||||||
// Corresponding to SHUT_RD, SHUT_WR, SHUT_RDWR
|
// Corresponding to SHUT_RD, SHUT_WR, SHUT_RDWR
|
||||||
Read = 0,
|
Read = 0,
|
||||||
|
@ -40,7 +40,15 @@ enum ShutdownMode {
|
||||||
ReadWrite // unused
|
ReadWrite // unused
|
||||||
}
|
}
|
||||||
|
|
||||||
function shutdown(rid: number, how: ShutdownMode): void {
|
/** Shut down socket send and receive operations.
|
||||||
|
*
|
||||||
|
* Matches behavior of POSIX shutdown(3).
|
||||||
|
*
|
||||||
|
* const listener = Deno.listen({ port: 80 });
|
||||||
|
* const conn = await listener.accept();
|
||||||
|
* Deno.shutdown(conn.rid, Deno.ShutdownMode.Write);
|
||||||
|
*/
|
||||||
|
export function shutdown(rid: number, how: ShutdownMode): void {
|
||||||
sendSync(dispatch.OP_SHUTDOWN, { rid, how });
|
sendSync(dispatch.OP_SHUTDOWN, { rid, how });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue