8 #include "filter_frontend_net.hpp"
11 #include "session.hpp"
12 #include "package.hpp"
14 class FilterInit: public yp2::Filter {
16 void process(yp2::Package & package) const {
18 if (package.session().is_closed())
20 // std::cout << "Got Close.\n";
23 Z_GDU *gdu = package.request().get();
26 // std::cout << "Got PDU. Sending init response\n";
27 ODR odr = odr_createmem(ODR_ENCODE);
28 Z_APDU *apdu = zget_APDU(odr, Z_APDU_initResponse);
30 apdu->u.initResponse->implementationName = "YP2/YAZ";
32 package.response() = apdu;
35 return package.move();
39 int main(int argc, char **argv)
44 yp2::RouterChain router;
46 // put in frontend first
47 yp2::FilterFrontendNet filter_front;
48 filter_front.listen_address() = "tcp:@:9999";
49 //filter_front.listen_duration() = 1; // listen a short time only
50 router.rule(filter_front);
53 FilterInit filter_init;
54 router.rule(filter_init);
58 yp2::Package pack(session, origin);
60 pack.router(router).move();
64 std::cerr << "unknown exception\n";
72 * indent-tabs-mode: nil
74 * vim: shiftwidth=4 tabstop=8 expandtab