address minor fixmes
This commit is contained in:
parent
4bf153fdb0
commit
82d31fed24
@ -307,6 +307,36 @@ static unsigned int aggregation_limit =
|
|||||||
TALER_EXCHANGEDB_MATCHING_DEPOSITS_LIMIT;
|
TALER_EXCHANGEDB_MATCHING_DEPOSITS_LIMIT;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Main work function that finds and triggers transfers for reserves
|
||||||
|
* closures.
|
||||||
|
*
|
||||||
|
* @param cls closure
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
run_reserve_closures (void *cls);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Main work function that queries the DB and aggregates transactions
|
||||||
|
* into larger wire transfers.
|
||||||
|
*
|
||||||
|
* @param cls NULL
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
run_aggregation (void *cls);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the wire transfers that we have committed to
|
||||||
|
* do.
|
||||||
|
*
|
||||||
|
* @param cls pointer to an `int` which we will return from main()
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
run_transfers (void *cls);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find the record valid at time @a now in the fee
|
* Find the record valid at time @a now in the fee
|
||||||
* structure.
|
* structure.
|
||||||
@ -409,9 +439,8 @@ find_account_by_method (const char *method)
|
|||||||
* @param url wire address we need an account for
|
* @param url wire address we need an account for
|
||||||
* @return NULL on error
|
* @return NULL on error
|
||||||
*/
|
*/
|
||||||
// FIXME(dold): should be find_account_by_uri
|
|
||||||
static struct WireAccount *
|
static struct WireAccount *
|
||||||
find_account_by_url (const char *url)
|
find_account_by_payto_uri (const char *url)
|
||||||
{
|
{
|
||||||
char *method;
|
char *method;
|
||||||
struct WireAccount *wa;
|
struct WireAccount *wa;
|
||||||
@ -575,15 +604,25 @@ shutdown_task (void *cls)
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse configuration parameters for the exchange server into the
|
* Parse the configuration for wirewatch.
|
||||||
* corresponding global variables.
|
|
||||||
*
|
*
|
||||||
* @return #GNUNET_OK on success
|
* @return #GNUNET_OK on success
|
||||||
*/
|
*/
|
||||||
// FIXME(dold): Why is this called exchange_serve when this is not then httpd?
|
|
||||||
static int
|
static int
|
||||||
exchange_serve_process_config ()
|
parse_wirewatch_config ()
|
||||||
{
|
{
|
||||||
|
if (GNUNET_OK !=
|
||||||
|
GNUNET_CONFIGURATION_get_value_string (c,
|
||||||
|
"exchange",
|
||||||
|
"BASE_URL",
|
||||||
|
&exchange_base_url))
|
||||||
|
{
|
||||||
|
GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
|
||||||
|
"exchange",
|
||||||
|
"BASE_URL");
|
||||||
|
global_ret = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (GNUNET_OK !=
|
if (GNUNET_OK !=
|
||||||
GNUNET_CONFIGURATION_get_value_string (cfg,
|
GNUNET_CONFIGURATION_get_value_string (cfg,
|
||||||
"taler",
|
"taler",
|
||||||
@ -777,7 +816,7 @@ deposit_cb (void *cls,
|
|||||||
char *url;
|
char *url;
|
||||||
|
|
||||||
url = TALER_JSON_wire_to_payto (au->wire);
|
url = TALER_JSON_wire_to_payto (au->wire);
|
||||||
au->wa = find_account_by_url (url);
|
au->wa = find_account_by_payto_uri (url);
|
||||||
GNUNET_free (url);
|
GNUNET_free (url);
|
||||||
}
|
}
|
||||||
if (NULL == au->wa)
|
if (NULL == au->wa)
|
||||||
@ -961,38 +1000,6 @@ aggregate_cb (void *cls,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// FIXME(dold): we should move these to the top
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Main work function that finds and triggers transfers for reserves
|
|
||||||
* closures.
|
|
||||||
*
|
|
||||||
* @param cls closure
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
run_reserve_closures (void *cls);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Main work function that queries the DB and aggregates transactions
|
|
||||||
* into larger wire transfers.
|
|
||||||
*
|
|
||||||
* @param cls NULL
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
run_aggregation (void *cls);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Execute the wire transfers that we have committed to
|
|
||||||
* do.
|
|
||||||
*
|
|
||||||
* @param cls pointer to an `int` which we will return from main()
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
run_transfers (void *cls);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a database commit. If it fails, print a warning.
|
* Perform a database commit. If it fails, print a warning.
|
||||||
*
|
*
|
||||||
@ -1044,8 +1051,8 @@ struct ExpiredReserveContext
|
|||||||
* @param cls a `struct ExpiredReserveContext *`
|
* @param cls a `struct ExpiredReserveContext *`
|
||||||
* @param reserve_pub public key of the reserve
|
* @param reserve_pub public key of the reserve
|
||||||
* @param left amount left in the reserve
|
* @param left amount left in the reserve
|
||||||
* // FIXME(dold): So the following parameter is a payto URI?
|
* @param account_payto_uri information about the bank account that initially
|
||||||
* @param account_details information about the reserve's bank account
|
* caused the reserve to be created
|
||||||
* @param expiration_date when did the reserve expire
|
* @param expiration_date when did the reserve expire
|
||||||
* @return transaction status code
|
* @return transaction status code
|
||||||
*/
|
*/
|
||||||
@ -1053,7 +1060,7 @@ static enum GNUNET_DB_QueryStatus
|
|||||||
expired_reserve_cb (void *cls,
|
expired_reserve_cb (void *cls,
|
||||||
const struct TALER_ReservePublicKeyP *reserve_pub,
|
const struct TALER_ReservePublicKeyP *reserve_pub,
|
||||||
const struct TALER_Amount *left,
|
const struct TALER_Amount *left,
|
||||||
const char *account_details,
|
const char *account_payto_uri,
|
||||||
struct GNUNET_TIME_Absolute expiration_date)
|
struct GNUNET_TIME_Absolute expiration_date)
|
||||||
{
|
{
|
||||||
struct ExpiredReserveContext *erc = cls;
|
struct ExpiredReserveContext *erc = cls;
|
||||||
@ -1078,7 +1085,7 @@ expired_reserve_cb (void *cls,
|
|||||||
(void) GNUNET_TIME_round_abs (&now);
|
(void) GNUNET_TIME_round_abs (&now);
|
||||||
|
|
||||||
/* lookup account we should use */
|
/* lookup account we should use */
|
||||||
wa = find_account_by_url (account_details);
|
wa = find_account_by_payto_uri (account_payto_uri);
|
||||||
if (NULL == wa)
|
if (NULL == wa)
|
||||||
{
|
{
|
||||||
GNUNET_break (0);
|
GNUNET_break (0);
|
||||||
@ -1146,7 +1153,7 @@ expired_reserve_cb (void *cls,
|
|||||||
session,
|
session,
|
||||||
reserve_pub,
|
reserve_pub,
|
||||||
now,
|
now,
|
||||||
account_details,
|
account_payto_uri,
|
||||||
&wtid,
|
&wtid,
|
||||||
left,
|
left,
|
||||||
closing_fee);
|
closing_fee);
|
||||||
@ -1186,8 +1193,8 @@ expired_reserve_cb (void *cls,
|
|||||||
ctc = GNUNET_new (struct CloseTransferContext);
|
ctc = GNUNET_new (struct CloseTransferContext);
|
||||||
ctc->wa = wa;
|
ctc->wa = wa;
|
||||||
ctc->session = session;
|
ctc->session = session;
|
||||||
ctc->method = TALER_payto_get_method (account_details);
|
ctc->method = TALER_payto_get_method (account_payto_uri);
|
||||||
TALER_BANK_prepare_wire_transfer (account_details,
|
TALER_BANK_prepare_wire_transfer (account_payto_uri,
|
||||||
&amount_without_fee,
|
&amount_without_fee,
|
||||||
exchange_base_url,
|
exchange_base_url,
|
||||||
&wtid,
|
&wtid,
|
||||||
@ -1406,8 +1413,7 @@ run_aggregation (void *cls)
|
|||||||
task = GNUNET_SCHEDULER_add_now (&run_reserve_closures,
|
task = GNUNET_SCHEDULER_add_now (&run_reserve_closures,
|
||||||
NULL);
|
NULL);
|
||||||
else
|
else
|
||||||
// FIXME(dold): Why a minute? Maybe for some giant "wallet integration test" we want this
|
/* FIXME(dold): We might want to read the duration to sleep from the config */
|
||||||
// to be configurable to something much faster?
|
|
||||||
/* nothing to do, sleep for a minute and try again */
|
/* nothing to do, sleep for a minute and try again */
|
||||||
task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_MINUTES,
|
task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_MINUTES,
|
||||||
&run_aggregation,
|
&run_aggregation,
|
||||||
@ -1876,21 +1882,8 @@ run (void *cls,
|
|||||||
(void) args;
|
(void) args;
|
||||||
(void) cfgfile;
|
(void) cfgfile;
|
||||||
|
|
||||||
// FIXME(dold): why is this not in exchange_serve_process_config?
|
|
||||||
if (GNUNET_OK !=
|
|
||||||
GNUNET_CONFIGURATION_get_value_string (c,
|
|
||||||
"exchange",
|
|
||||||
"BASE_URL",
|
|
||||||
&exchange_base_url))
|
|
||||||
{
|
|
||||||
GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
|
|
||||||
"exchange",
|
|
||||||
"BASE_URL");
|
|
||||||
global_ret = 1;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
cfg = GNUNET_CONFIGURATION_dup (c);
|
cfg = GNUNET_CONFIGURATION_dup (c);
|
||||||
if (GNUNET_OK != exchange_serve_process_config ())
|
if (GNUNET_OK != parse_wirewatch_config ())
|
||||||
{
|
{
|
||||||
GNUNET_CONFIGURATION_destroy (cfg);
|
GNUNET_CONFIGURATION_destroy (cfg);
|
||||||
cfg = NULL;
|
cfg = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user