From: Roger Shimizu <rogershimizu@gmail.com>
Date: Wed, 29 Aug 2018 01:10:41 +0900
Subject: Revert "Replace d.Sub(time.Now()) with time.Until(d)"

time.Until() is introduced by golang 1.8, which is supported since
buster.

This reverts commit 99d8597e59aa237164d072ce4ba28cf55e7213df.
---
 session.go | 2 +-
 stream.go  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/session.go b/session.go
index e93317e..1f5f553 100644
--- a/session.go
+++ b/session.go
@@ -118,7 +118,7 @@ func (s *Session) OpenStream() (*Stream, error) {
 func (s *Session) AcceptStream() (*Stream, error) {
 	var deadline <-chan time.Time
 	if d, ok := s.deadline.Load().(time.Time); ok && !d.IsZero() {
-		timer := time.NewTimer(time.Until(d))
+		timer := time.NewTimer(d.Sub(time.Now()))
 		defer timer.Stop()
 		deadline = timer.C
 	}
diff --git a/stream.go b/stream.go
index 57a0bc6..e426c1a 100644
--- a/stream.go
+++ b/stream.go
@@ -55,7 +55,7 @@ func (s *Stream) Read(b []byte) (n int, err error) {
 
 	var deadline <-chan time.Time
 	if d, ok := s.readDeadline.Load().(time.Time); ok && !d.IsZero() {
-		timer := time.NewTimer(time.Until(d))
+		timer := time.NewTimer(d.Sub(time.Now()))
 		defer timer.Stop()
 		deadline = timer.C
 	}
@@ -87,7 +87,7 @@ READ:
 func (s *Stream) Write(b []byte) (n int, err error) {
 	var deadline <-chan time.Time
 	if d, ok := s.writeDeadline.Load().(time.Time); ok && !d.IsZero() {
-		timer := time.NewTimer(time.Until(d))
+		timer := time.NewTimer(d.Sub(time.Now()))
 		defer timer.Stop()
 		deadline = timer.C
 	}
