socket-reader.js 992 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Just get the stats, and then don't do anything.
  2. // You can't really "read" from a socket. You "connect" to it.
  3. // Mostly, this is here so that reading a dir with a socket in it
  4. // doesn't blow up.
  5. module.exports = SocketReader
  6. var fs = require("graceful-fs")
  7. , fstream = require("../fstream.js")
  8. , inherits = require("inherits")
  9. , mkdir = require("mkdirp")
  10. , Reader = require("./reader.js")
  11. inherits(SocketReader, Reader)
  12. function SocketReader (props) {
  13. var me = this
  14. if (!(me instanceof SocketReader)) throw new Error(
  15. "SocketReader must be called as constructor.")
  16. if (!(props.type === "Socket" && props.Socket)) {
  17. throw new Error("Non-socket type "+ props.type)
  18. }
  19. Reader.call(me, props)
  20. }
  21. SocketReader.prototype._read = function () {
  22. var me = this
  23. if (me._paused) return
  24. // basically just a no-op, since we got all the info we have
  25. // from the _stat method
  26. if (!me._ended) {
  27. me.emit("end")
  28. me.emit("close")
  29. me._ended = true
  30. }
  31. }