- $writer->autoflush(1);
- sshopen2($shellmachine,$reader,$writer,$fs_signupd);
-
- #send fs_signupd state/county/country
- @my cust_main_county = qsearch('cust_main_county', {} );
- print $writer join("\n",
- scalar(@cust_main_county) || die "no tax rates (cust_main_county records)",
- map {
- $_->taxnum,
- $_->state,
- $_->county,
- $_->country,
- } @cust_main_county
- ),"\n";
-
- #send fs_signupd package definitions
- my @part_pkg = grep { $_->svcpart('svc_acct') && $pkgpart->{ $_->pkgpart } }
- qsearch( 'part_pkg', {} );
- print $writer join("\n",
- scalar(@part_pkg) || die "no usable package definitions, agent $agentnum",
- map {
- $_->pkgpart,
- $_->pkg,
- } @part_pkg
- ), "\n";
-
- #send fs_signupd POPs
- my @svc_acct_pop = qsearch ('svc_acct_pop',{} );
- print $writer join("\n",
- scalar(@svc_acct_pop) || die "No points of presence (svc_acct_pop records)",
- map {
- $_->popnum,
- $_->city,
- $_->state,
- $_->ac,
- $_->exch,
- } @svc_acct_pop
- ), "\n";
-
+ #seems to be broken - calling ->flush explicitly# $writer->autoflush(1);
+ warn "[fs_signup_server] Connecting to $machine...\n" if $Debug;
+ sshopen2($machine,$reader,$writer,$fs_signupd);
+
+ my $init_data = {
+
+ #'_protocol' => 'signup',
+ #'_version' => '0.1',
+ #'_packet' => 'init'
+
+ 'cust_main_county' =>
+ [ map { $_->hashref } qsearch('cust_main_county', {}) ],
+
+ 'part_pkg' =>
+ [
+ map { $_->hashref }
+ grep { $_->svcpart('svc_acct') && $pkgpart_href->{ $_->pkgpart } }
+ qsearch( 'part_pkg', { 'disabled' => '' } )
+ ],
+
+ 'svc_acct_pop' => [ map { $_->hashref } qsearch ('svc_acct_pop',{} ) ],
+
+ };
+
+ warn "[fs_signup_server] Sending init data...\n" if $Debug;
+ nstore_fd($init_data, $writer) or die "can't send init data: $!";
+ $writer->flush;
+
+ warn "[fs_signup_server] Entering main loop...\n" if $Debug;