Lines Matching refs:bio
55 PacketedBio *GetData(BIO *bio) { in GetData() argument
56 return (PacketedBio *)BIO_get_data(bio); in GetData()
59 const PacketedBio *GetData(const BIO *bio) { in GetData() argument
60 return GetData(const_cast<BIO*>(bio)); in GetData()
65 static int ReadAll(BIO *bio, uint8_t *out, size_t len) { in ReadAll() argument
71 int ret = BIO_read(bio, out, chunk_len); in ReadAll()
81 static int PacketedWrite(BIO *bio, const char *in, int inl) { in PacketedWrite() argument
82 if (BIO_next(bio) == NULL) { in PacketedWrite()
86 BIO_clear_retry_flags(bio); in PacketedWrite()
95 int ret = BIO_write(BIO_next(bio), header, sizeof(header)); in PacketedWrite()
97 BIO_copy_next_retry(bio); in PacketedWrite()
102 ret = BIO_write(BIO_next(bio), in, inl); in PacketedWrite()
104 BIO_copy_next_retry(bio); in PacketedWrite()
111 static int PacketedRead(BIO *bio, char *out, int outl) { in PacketedRead() argument
112 PacketedBio *data = GetData(bio); in PacketedRead()
113 if (BIO_next(bio) == NULL) { in PacketedRead()
117 BIO_clear_retry_flags(bio); in PacketedRead()
122 BIO_set_retry_read(bio); in PacketedRead()
128 int ret = ReadAll(BIO_next(bio), &opcode, sizeof(opcode)); in PacketedRead()
130 BIO_copy_next_retry(bio); in PacketedRead()
144 ret = ReadAll(BIO_next(bio), buf, sizeof(buf)); in PacketedRead()
146 BIO_copy_next_retry(bio); in PacketedRead()
163 ret = BIO_write(BIO_next(bio), &kOpcodeTimeoutAck, 1); in PacketedRead()
171 BIO_set_retry_read(bio); in PacketedRead()
175 PacketedBioAdvanceClock(bio); in PacketedRead()
186 ret = ReadAll(BIO_next(bio), len_bytes, sizeof(len_bytes)); in PacketedRead()
188 BIO_copy_next_retry(bio); in PacketedRead()
198 ret = ReadAll(BIO_next(bio), buf, len); in PacketedRead()
213 static long PacketedCtrl(BIO *bio, int cmd, long num, void *ptr) { in PacketedCtrl() argument
215 memcpy(&GetData(bio)->read_deadline, ptr, sizeof(timeval)); in PacketedCtrl()
219 if (BIO_next(bio) == NULL) { in PacketedCtrl()
222 BIO_clear_retry_flags(bio); in PacketedCtrl()
223 int ret = BIO_ctrl(BIO_next(bio), cmd, num, ptr); in PacketedCtrl()
224 BIO_copy_next_retry(bio); in PacketedCtrl()
228 static int PacketedNew(BIO *bio) { in PacketedNew() argument
229 BIO_set_init(bio, 1); in PacketedNew()
233 static int PacketedFree(BIO *bio) { in PacketedFree() argument
234 if (bio == NULL) { in PacketedFree()
238 delete GetData(bio); in PacketedFree()
239 BIO_set_init(bio, 0); in PacketedFree()
243 static long PacketedCallbackCtrl(BIO *bio, int cmd, BIO_info_cb fp) in PacketedCallbackCtrl() argument
245 if (BIO_next(bio) == NULL) in PacketedCallbackCtrl()
247 return BIO_callback_ctrl(BIO_next(bio), cmd, fp); in PacketedCallbackCtrl()
271 bssl::UniquePtr<BIO> bio(BIO_new(PacketedMethod())); in PacketedBioCreate() local
272 if (!bio) { in PacketedBioCreate()
275 BIO_set_data(bio.get(), new PacketedBio(advance_clock)); in PacketedBioCreate()
276 return bio; in PacketedBioCreate()
279 timeval PacketedBioGetClock(const BIO *bio) { in PacketedBioGetClock() argument
280 return GetData(bio)->clock; in PacketedBioGetClock()
283 bool PacketedBioAdvanceClock(BIO *bio) { in PacketedBioAdvanceClock() argument
284 PacketedBio *data = GetData(bio); in PacketedBioAdvanceClock()