Guest User

Untitled

a guest
Jun 21st, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. var tail = function(fname, onData, ender) {
  2. fs.open(fname, 'a+', function(err, fd) {
  3. if (err) {
  4. puts('tail error: '+err);
  5. if (ender(fd, 0) !== false) {
  6. setTimeout(function(){
  7. tail(fname, onData);
  8. }, 10);
  9. }
  10. } else {
  11. puts('tailing');
  12. var size = 1024;
  13. var buffer = new Buffer(size);
  14. var pos = 0;
  15. var reader = function() {
  16. fs.read(fd, buffer, 0, size, null, function(err, bytesRead) {
  17. if (bytesRead > 0) {
  18. pos += bytesRead;
  19. var outp = new Buffer(bytesRead);
  20. buffer.copy(outp, 0, 0, bytesRead);
  21. onData(outp, fd);
  22. }
  23. if (ender && ender(fd, pos) === false) {
  24. fs.close(fd);
  25. } else {
  26. if (bytesRead == 0) {
  27. setTimeout(reader, 10);
  28. } else {
  29. reader();
  30. }
  31. }
  32. });
  33. };
  34. reader();
  35. }
  36. });
  37. };
Add Comment
Please, Sign In to add comment