Home | History | Annotate | Download | only in test

Lines Matching refs:BIO

49 PacketedBio *GetData(BIO *bio) {
50 if (bio->method != &g_packeted_bio_method) {
53 return (PacketedBio *)bio->ptr;
56 // ReadAll reads |len| bytes from |bio| into |out|. It returns 1 on success and
58 static int ReadAll(BIO *bio, uint8_t *out, size_t len) {
64 int ret = BIO_read(bio, out, chunk_len);
74 static int PacketedWrite(BIO *bio, const char *in, int inl) {
75 if (bio->next_bio == NULL) {
79 BIO_clear_retry_flags(bio);
88 int ret = BIO_write(bio->next_bio, header, sizeof(header));
90 BIO_copy_next_retry(bio);
95 ret = BIO_write(bio->next_bio, in, inl);
97 BIO_copy_next_retry(bio);
104 static int PacketedRead(BIO *bio, char *out, int outl) {
105 PacketedBio *data = GetData(bio);
106 if (bio->next_bio == NULL) {
110 BIO_clear_retry_flags(bio);
114 int ret = ReadAll(bio->next_bio, &opcode, sizeof(opcode));
116 BIO_copy_next_retry(bio);
129 ret = ReadAll(bio->next_bio, buf, sizeof(buf));
131 BIO_copy_next_retry(bio);
148 ret = BIO_write(bio->next_bio, &kOpcodeTimeoutAck, 1);
155 BIO_set_retry_read(bio);
166 ret = ReadAll(bio->next_bio, len_bytes, sizeof(len_bytes));
168 BIO_copy_next_retry(bio);
178 ret = ReadAll(bio->next_bio, buf, len);
180 fprintf(stderr, "Packeted BIO was truncated\n");
192 static long PacketedCtrl(BIO *bio, int cmd, long num, void *ptr) {
193 if (bio->next_bio == NULL) {
197 BIO_clear_retry_flags(bio);
198 int ret = BIO_ctrl(bio->next_bio, cmd, num, ptr);
199 BIO_copy_next_retry(bio);
203 static int PacketedNew(BIO *bio) {
204 bio->init = 1;
208 static int PacketedFree(BIO *bio) {
209 if (bio == NULL) {
213 delete GetData(bio);
214 bio->init = 0;
218 static long PacketedCallbackCtrl(BIO *bio, int cmd, bio_info_cb fp) {
219 if (bio->next_bio == NULL) {
222 return BIO_callback_ctrl(bio->next_bio, cmd, fp);
227 "packeted bio",
240 bssl::UniquePtr<BIO> PacketedBioCreate(timeval *clock) {
241 bssl::UniquePtr<BIO> bio(BIO_new(&g_packeted_bio_method));
242 if (!bio) {
245 bio->ptr = new PacketedBio(clock);
246 return bio;
249 bool PacketedBioAdvanceClock(BIO *bio) {
250 PacketedBio *data = GetData(bio);