MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / defer_packet

Function defer_packet

src/remote/client/interface.cpp:1182–1201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1180#define SET_OBJECT(rdb, object, id) rdb->rdb_port->setHandle(object, id)
1181
1182inline static void defer_packet(rem_port* port, PACKET* packet, bool sent = false)
1183{
1184 fb_assert(port->port_flags & PORT_lazy);
1185 fb_assert(port->port_deferred_packets);
1186
1187 // hvlad: passed packet often is rdb->rdb_packet and therefore can be
1188 // changed inside clear_queue. To not confuse caller we must preserve
1189 // packet content
1190
1191 rem_que_packet p;
1192 p.packet = *packet;
1193 p.sent = sent;
1194
1195 clear_queue(port);
1196 *packet = p.packet;
1197
1198 // don't use string references in P_RESP structure copied from another packet
1199 memset(&p.packet.p_resp, 0, sizeof(p.packet.p_resp));
1200 port->port_deferred_packets->add(p);
1201}
1202
1203IAttachment* RProvider::attach(CheckStatusWrapper* status, const char* filename, unsigned int dpb_length,
1204 const unsigned char* dpb, bool loopback)

Callers 5

createBatchMethod · 0.85
sendDeferredPacketMethod · 0.85
freeClientDataMethod · 0.85
openCursorMethod · 0.85
release_objectFunction · 0.85

Calls 2

clear_queueFunction · 0.85
addMethod · 0.45

Tested by

no test coverage detected