Most bank venues are quote-driven markets. This means that prices are streamed with an associated identifier that must be given when an order is submitted to execute on the price. The bank quote-driven markets themselves have different prescribed methods for hitting / filling prices; MarketFactory manages these differing rules. This is different than ECNs, which use a limit order book. The approach that MarketFactory uses to normalize banks is to stream aggregated prices and amounts, similar to the way prices are streamed for ECNs, but to also put the individual quote amounts in the components field. These MDEntry items are marked with MDElement.LEVEL_QUOTE.
To execute on these quotes, the user traverses the list of MDEntry structures and examines the components of each price level. To perform a "sweep" the user must submit multiple limit orders, one for each component amount up to the desired amount that the user wants to trade. These orders usually have a time-in-force of FOK (Fill-Or-Kill), though there are some exceptions. xxx

For instance, given this snapshot for EUR/USD:


<MktDataMessage ... mdEntryList=[
(price=1300590000 amount=3000000000000000 updateAction=NEW element=LEVEL_QUOTE side=BID source=8 numberOfOrders=2 components="2000000+1000000")
(price=1300570000 amount=2000000000000000 updateAction=NEW element=LEVEL_QUOTE side=BID source=8 numberOfOrders=1 components="")
(price=1300550000 amount=1000000000000000 updateAction=NEW element=LEVEL_QUOTE side=BID source=8 numberOfOrders=1 components="")
(price=1300930000 amount=2000000000000000 updateAction=NEW element=LEVEL_QUOTE side=OFR source=8 numberOfOrders=2 components="1000000+1000000")
(price=1300950000 amount=3000000000000000 updateAction=NEW element=LEVEL_QUOTE side=OFR source=8 numberOfOrders=1 components="")
(price=1301010000 amount=1000000000000000 updateAction=NEW element=LEVEL_QUOTE side=OFR source=8 numberOfOrders=1 components="")])
...>


then to buy 3.5MM, then the user would submit three orders: 1MM at 1.30093, 1MM at 1.30093, and 1.5MM at 1.30095.

Even though the user is submitting orders on individual quotes, the user does not have to manage the quoteIDs as Whisperer does this for the user. Besides making book management easier for the user, this allows Whisperer to give price improvement in the case where the market changes before the order is sent to the venue.

Whisperer only publishes tradeable prices to the user. If a bank publishes indicative prices, they are ignored