package io.netty.handler.codec.serialization;

import g.a.a.a.a;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufOutputStream;
import io.netty.buffer.Unpooled;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutput;
import java.io.OutputStream;
import java.util.Objects;

/* JADX INFO: loaded from: classes.dex */
public class ObjectEncoderOutputStream extends OutputStream implements ObjectOutput {
    private final int estimatedLength;
    private final DataOutputStream out;

    public ObjectEncoderOutputStream(OutputStream outputStream) {
        this(outputStream, 512);
    }

    public ObjectEncoderOutputStream(OutputStream outputStream, int i2) {
        Objects.requireNonNull(outputStream, "out");
        if (i2 < 0) {
            throw new IllegalArgumentException(a.l("estimatedLength: ", i2));
        }
        if (outputStream instanceof DataOutputStream) {
            this.out = (DataOutputStream) outputStream;
        } else {
            this.out = new DataOutputStream(outputStream);
        }
        this.estimatedLength = i2;
    }

    @Override // java.io.OutputStream, java.io.Closeable, java.lang.AutoCloseable, java.io.ObjectOutput
    public void close() {
        this.out.close();
    }

    @Override // java.io.OutputStream, java.io.Flushable, java.io.ObjectOutput
    public void flush() throws IOException {
        this.out.flush();
    }

    public final int size() {
        return this.out.size();
    }

    @Override // java.io.OutputStream, java.io.ObjectOutput, java.io.DataOutput
    public void write(int i2) throws IOException {
        this.out.write(i2);
    }

    @Override // java.io.OutputStream, java.io.ObjectOutput, java.io.DataOutput
    public void write(byte[] bArr) {
        this.out.write(bArr);
    }

    @Override // java.io.OutputStream, java.io.ObjectOutput, java.io.DataOutput
    public void write(byte[] bArr, int i2, int i3) throws IOException {
        this.out.write(bArr, i2, i3);
    }

    @Override // java.io.DataOutput
    public final void writeBoolean(boolean z2) throws IOException {
        this.out.writeBoolean(z2);
    }

    @Override // java.io.DataOutput
    public final void writeByte(int i2) throws IOException {
        this.out.writeByte(i2);
    }

    @Override // java.io.DataOutput
    public final void writeBytes(String str) throws IOException {
        this.out.writeBytes(str);
    }

    @Override // java.io.DataOutput
    public final void writeChar(int i2) throws IOException {
        this.out.writeChar(i2);
    }

    @Override // java.io.DataOutput
    public final void writeChars(String str) throws IOException {
        this.out.writeChars(str);
    }

    @Override // java.io.DataOutput
    public final void writeDouble(double d2) throws IOException {
        this.out.writeDouble(d2);
    }

    @Override // java.io.DataOutput
    public final void writeFloat(float f2) throws IOException {
        this.out.writeFloat(f2);
    }

    @Override // java.io.DataOutput
    public final void writeInt(int i2) throws IOException {
        this.out.writeInt(i2);
    }

    @Override // java.io.DataOutput
    public final void writeLong(long j2) throws IOException {
        this.out.writeLong(j2);
    }

    @Override // java.io.ObjectOutput
    public void writeObject(Object obj) {
        ByteBuf byteBufBuffer = Unpooled.buffer(this.estimatedLength);
        try {
            CompactObjectOutputStream compactObjectOutputStream = new CompactObjectOutputStream(new ByteBufOutputStream(byteBufBuffer));
            try {
                compactObjectOutputStream.writeObject(obj);
                compactObjectOutputStream.flush();
                compactObjectOutputStream.close();
                int i2 = byteBufBuffer.readableBytes();
                writeInt(i2);
                byteBufBuffer.getBytes(0, this, i2);
            } catch (Throwable th) {
                compactObjectOutputStream.close();
                throw th;
            }
        } finally {
            byteBufBuffer.release();
        }
    }

    @Override // java.io.DataOutput
    public final void writeShort(int i2) throws IOException {
        this.out.writeShort(i2);
    }

    @Override // java.io.DataOutput
    public final void writeUTF(String str) throws IOException {
        this.out.writeUTF(str);
    }
}
