Blame view

node_modules/fstream/lib/socket-reader.js 915 Bytes
aaac7fed   liuqimichale   add
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
  // Just get the stats, and then don't do anything.
  // You can't really "read" from a socket.  You "connect" to it.
  // Mostly, this is here so that reading a dir with a socket in it
  // doesn't blow up.
  
  module.exports = SocketReader
  
  var inherits = require('inherits')
  var Reader = require('./reader.js')
  
  inherits(SocketReader, Reader)
  
  function SocketReader (props) {
    var self = this
    if (!(self instanceof SocketReader)) {
      throw new Error('SocketReader must be called as constructor.')
    }
  
    if (!(props.type === 'Socket' && props.Socket)) {
      throw new Error('Non-socket type ' + props.type)
    }
  
    Reader.call(self, props)
  }
  
  SocketReader.prototype._read = function () {
    var self = this
    if (self._paused) return
    // basically just a no-op, since we got all the info we have
    // from the _stat method
    if (!self._ended) {
      self.emit('end')
      self.emit('close')
      self._ended = true
    }
  }