aboutsummaryrefslogtreecommitdiff
path: root/client/libacron/net.c
diff options
context:
space:
mode:
authorTrumeet <yuuta@yuuta.moe>2022-07-25 14:47:04 -0700
committerTrumeet <yuuta@yuuta.moe>2022-07-25 14:47:04 -0700
commit219e4bb54375995fa377a1bcf9601a77cf6f1fee (patch)
tree8553a4d24bfb6d2c7197f16aa7ff6d434da13192 /client/libacron/net.c
parent8f07d4ee8f345feb36c4f1c99eea2fe4f1cdf6e3 (diff)
downloadacron-219e4bb54375995fa377a1bcf9601a77cf6f1fee.tar
acron-219e4bb54375995fa377a1bcf9601a77cf6f1fee.tar.gz
acron-219e4bb54375995fa377a1bcf9601a77cf6f1fee.tar.bz2
acron-219e4bb54375995fa377a1bcf9601a77cf6f1fee.zip
feat(libacron): support force disconnecting without writing anything
API:CHANGE Signed-off-by: Trumeet <yuuta@yuuta.moe>
Diffstat (limited to 'client/libacron/net.c')
-rw-r--r--client/libacron/net.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/client/libacron/net.c b/client/libacron/net.c
index 1af752c..b393475 100644
--- a/client/libacron/net.c
+++ b/client/libacron/net.c
@@ -175,11 +175,16 @@ int ac_connect(ac_connection_parameters_t parameters, void **out) {
return AC_E_OK;
}
-int ac_disconnect(void *connection) {
+int ac_disconnect(void *connection,
+ bool force) {
AC_CHECK_INIT;
struct ac_connection *conn = connection;
LOGD("Disconnecting...");
- wic_close(&conn->inst);
+ if (force) {
+ wic_close_with_reason(&conn->inst, WIC_CLOSE_ABNORMAL_1, NULL, 0U);
+ } else {
+ wic_close_with_reason(&conn->inst, WIC_CLOSE_NORMAL, NULL, 0U);
+ }
conn_free(conn);
return AC_E_OK;
}