- client_fatal(cl);
- return;
- }
-
- if (apdulog && *apdulog && *apdulog != '0')
- {
- ODR p = odr_createmem(ODR_PRINT);
- yaz_log(YLOG_LOG, "recv APDU %s", client_get_url(cl));
-
- odr_setprint(p, yaz_log_file());
- z_APDU(p, &a, 0, 0);
- odr_setprint(p, stderr);
- odr_destroy(p);
- }
- switch (a->which)
- {
- case Z_APDU_initResponse:
- client_init_response(cl, a);
- break;
- case Z_APDU_searchResponse:
- client_search_response(cl, a);
- break;
- case Z_APDU_presentResponse:
- client_present_response(cl, a);
- break;
- case Z_APDU_close:
- client_close_response(cl, a);
- break;
- default:
- yaz_log(YLOG_WARN,
- "Unexpected Z39.50 response from %s",
- client_get_url(cl));
- client_fatal(cl);
- return;
+ case ZOOM_EVENT_END:
+ break;
+ case ZOOM_EVENT_SEND_DATA:
+ break;
+ case ZOOM_EVENT_RECV_DATA:
+ break;
+ case ZOOM_EVENT_UNKNOWN:
+ break;
+ case ZOOM_EVENT_SEND_APDU:
+ client_set_state(co->client, Client_Working);
+ break;
+ case ZOOM_EVENT_RECV_APDU:
+ client_set_state(co->client, Client_Idle);
+ break;
+ case ZOOM_EVENT_CONNECT:
+ yaz_log(YLOG_LOG, "Connected to %s", client_get_url(cl));
+ co->state = Conn_Open;
+ client_set_state(co->client, Client_Connected);
+ iochan_settimeout(i, global_parameters.z3950_session_timeout);
+ break;
+ case ZOOM_EVENT_RECV_SEARCH:
+ yaz_log(YLOG_LOG, "Search response from %s", client_get_url(cl));
+ client_search_response(cl);
+ break;
+ case ZOOM_EVENT_RECV_RECORD:
+ yaz_log(YLOG_LOG, "Record from %s", client_get_url(cl));
+ client_record_response(cl);
+ break;
+ default:
+ yaz_log(YLOG_LOG, "Unhandled event (%d) from %s",
+ event, client_get_url(cl));