summaryrefslogtreecommitdiff
path: root/src/main/kotlin/NinePConnection.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/NinePConnection.kt')
-rw-r--r--src/main/kotlin/NinePConnection.kt13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/main/kotlin/NinePConnection.kt b/src/main/kotlin/NinePConnection.kt
index 6f678a0..5adb35b 100644
--- a/src/main/kotlin/NinePConnection.kt
+++ b/src/main/kotlin/NinePConnection.kt
@@ -127,10 +127,14 @@ class NinePConnection(netPackTrans: NetworkPacketTransporter) : NinePTranslator
}
/**
- * Send 9P request and check for Rerror response.
+ * Send 9P request and check for exceptions or a Rerror response.
*/
private fun responseError(msg: NinePMessage): String? {
- msg.write(this.npt)
+ try {
+ msg.write(this.npt)
+ } catch (ex: Exception) {
+ return "Exception thrown while sending message: (" + ex.javaClass.toString() + ") " + ex.message
+ }
val se = waitForTag(msg.tag)
if (se.second == NinePMessageType.RERROR) {
val error = readError()
@@ -146,7 +150,8 @@ class NinePConnection(netPackTrans: NetworkPacketTransporter) : NinePTranslator
),
mapOf(
"version" to version
- )
+ ),
+ this.maxSize
)
val error = responseError(msg)
if (error != null) {
@@ -157,7 +162,7 @@ class NinePConnection(netPackTrans: NetworkPacketTransporter) : NinePTranslator
// this check should not be necessary, but you never know
this.maxSize = ( if (rmsize < msize.value) msize.value else rmsize ).toInt().toUInt()
if (rversion == "unknown") {
- return "Unknown version"
+ return "Unknown version."
}
return null
}