diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.1.11
+
+- Adding possibleMyStreams.
+
 ## 0.1.10
 
 - Setting proper upper boundaries for the dependencies
diff --git a/Network/QUIC/Connection/Stream.hs b/Network/QUIC/Connection/Stream.hs
--- a/Network/QUIC/Connection/Stream.hs
+++ b/Network/QUIC/Connection/Stream.hs
@@ -4,6 +4,7 @@
 
 module Network.QUIC.Connection.Stream (
     getMyStreamId,
+    possibleMyStreams,
     waitMyNewStreamId,
     waitMyNewUniStreamId,
     setTxMaxStreams,
@@ -26,6 +27,12 @@
 getMyStreamId Connection{..} = do
     next <- currentStream <$> readTVarIO myStreamId
     return $ next - 4
+
+possibleMyStreams :: Connection -> IO Int
+possibleMyStreams Connection{..} = do
+    Concurrency{..} <- readTVarIO myStreamId
+    let StreamIdBase base = maxStreams
+    return (base - (currentStream .>>. 2))
 
 waitMyNewStreamId :: Connection -> IO StreamId
 waitMyNewStreamId Connection{..} = get myStreamId
diff --git a/quic.cabal b/quic.cabal
--- a/quic.cabal
+++ b/quic.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               quic
-version:            0.1.10
+version:            0.1.11
 license:            BSD3
 license-file:       LICENSE
 maintainer:         kazu@iij.ad.jp
