-    char buffer[ENC_MSG_LEN];
-    DecryptBlock(buffer, bufferS, &ctx);
-
-    bool final = false;
-    size_t pos = 0;
-    for (; pos < ENC_MSG_LEN && buffer[pos] != 0; pos++) ;
-    if (pos < ENC_MSG_LEN && buffer[pos] == 0)
-        final = true;
-
-    if (pos > 0)
-        chunk.append(&buffer[0], &buffer[pos]);
+return st_ok;
+}
+//---------------------------------------------------------------------------
+bool NETTRANSACT::TxCrypto(const void * block, size_t size, void * data)
+{
+assert(data != NULL);
+NETTRANSACT & nt = *static_cast<NETTRANSACT *>(data);
+if (!WriteAll(nt.sock, block, size))
+    return false;
+return true;
+}
+//---------------------------------------------------------------------------
+bool NETTRANSACT::RxCrypto(const void * block, size_t size, void * data)
+{
+assert(data != NULL);
+ReadState & state = *static_cast<ReadState *>(data);